Thursday, March 25, 2010

Televid 77 Digital Slr Camera Adaptor

learn to use XStream

APIs XStream (http://xstream.codehaus.org/) very well solve the typical problem to take charge of an XML stream to use it all ' inside of our application.
Let's dissect a sample that I found myself manage to manipulate an RSS feed recovered the ActiveMQ web console (http://activemq.apache.org/).
The RSS feed input was structured as follows:

rss channel


title description link

items

item title link

description
        pubDate
        guid
        dc:date
      /item
..
      item
        title
        link


guid pubDate description
dc: date

/


item / items
/ channel
/ rss xml

This particular stream was made available within the My Java Web Application with these simple lines of configuration object XStream: XStream XStream

= new XStream ();
xstream.alias ("rss" AMQ5RssFeed.class)
xstream.alias ("channel", AMQ5RssChannel. class);
xstream.alias ("item", AMQ5RssItem.class)
XStream. addImplicitCollection (AMQ5RssChannel.class, "items");
XStream. aliasField ("dc: date", AMQ5RssItem.class, "dcDate");

The last two lines are particularly interesting because it allows me to exclude the tag "items" which basically has the sole purpose of holding the item (with addImplicitCollection) and assign an alias to convert the strange tag "dc: date" using a standard java-like (with aliasField).

Finally here is the details of my POJO container 3 classes: public class

AMQ5RssFeed {

AMQ5RssChannel public channel;

public AMQ5RssChannel getChannel () {return channel
;

} public void setChannel (AMQ5RssChannel channel) {
    this.channel = channel;
    }

}

public class AMQ5RssChannel {
   
    public String title, link, description;
    public List items;
   
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getLink() {
        return link;
    }
    public void setLink(String link) {
        this.link = link;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public List getItems() {
        return items;
    }
    public void addItem(AMQ5RssItem item) {
        this.items.add(item);
    }
}

public class AMQ5RssItem {
   
    public String title, link, description, pubDate, guid, dcDate;

    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getLink() {
        return link;
    }
    public void setLink(String link) {
        this.link = link;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getPubDate() {
        return pubDate;
    }
    public void setPubDate(String pubDate) {
        this.pubDate = pubDate;
    }
    public String getGuid() {
        return guid;
    }
    public void setGuid(String guid) {
this.guid = guid;}

getDcDate public String () {
dcDate return;}

public void setDcDate (String dcDate) = {
this.dcDate dcDate;



}} I guess that's all!

the next.

0 comments:

Post a Comment