2014-02-17 26 views
0

我有一個像下面的XML飼料和正在使用的短途API爲其解析:獲取與每個不正確的輸出在Java中

<item> 
    <pubdate>12 march 
    </pubdate> 
</item> 
<item> 
    <pubdate>15 march 
    </pubdate> 
</item> 

我寫了下面的代碼

Elements i =agent.doc.findEach("<item>"); 
{ 
    for (Element item: i) 
    { 
     String pubDate=i.findFirst("<pubDate><![CDATA[]]>").innerHTML(); 

     pubDate=new StringBuilder(new StringBuilder(pubDate.substring(9)).reverse().toString().substring(3)).reverse().toString(); 
     System.out.println(pubDate); 

我仍然得到相同的輸出,如12 march12 march等,而不是12 march, 15 march

回答

0

問題是你打電話findFirst("<pubDate><![CDATA[]]>").innerHTML();i,而不是呼籲item

其次,你仍然可以獲得所有12月的遊行,因爲你正在抓的飼料可能會在3月12日發佈,但請注意時間。每種情況下都會有所不同。這意味着你的代碼工作正常。

希望有所幫助。

編輯

沒有必要使用StringBuilder.Here越短,精準。

Elements i=agent.doc.findEach("<item>"); 
      for(Element item:i) 
      { 
       System.out.println(item.findFirst("<pubDate>").findFirst(Comment.CDATA).getText()); 
      }