我有一个像下面这样的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
。
答案 0 :(得分: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());
}