0

我有一个如下所示的 XML 提要,并且正在使用 Jaunt API 进行解析:

<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 march,12 march等等,而不是12 march, 15 march

4

1 回答 1

0

问题是您正在调用findFirst("<pubDate><![CDATA[]]>").innerHTML();i而不是调用它item

其次,您可能仍然会在 3 月 12 日获得全部信息,因为您正在抓取的提要可能会在 3 月 12 日发布,但请注意时间。在每种情况下都会有所不同。这意味着您的代码运行良好。

希望有帮助。

编辑

不需要使用 StringBuilder。这里是更短更精确的代码。

Elements i=agent.doc.findEach("<item>");
            for(Element item:i)
            {
                System.out.println(item.findFirst("<pubDate>").findFirst(Comment.CDATA).getText());
            }
于 2014-02-17T15:52:25.177 回答