[英]Java Parsing XML multilevel Using Xpath
您好,我正在尝试解析以下XML代码,并且我只需要一个极性值,在这种情况下,我将需要N +,但是我得到的是N +值的3倍。
<tweet>
<tweetid>----</tweetid>
<user>----</user>
<date>2011-12-02T02:33:37</date>
<lang>es</lang>
<sentiments>
<polarity><value>N+</value><type>AGREEMENT</type></polarity>
<polarity><entity>Sinde</entity><value>N+</value><type>AGREEMENT</type></polarity>
<polarity><entity>SGAE</entity><value>N+</value><type>AGREEMENT</type></polarity>
</sentiments>
<topics>
<topic>política</topic>
<topic>economía</topic>
</topics>
</tweet>
<tweet>
我正在使用此代码:
String expression3 = "/tweets/tweet/sentiments/polarity/value[1]";
NodeList nodeList3 = (NodeList) xPath.compile(expression3).evaluate(doc, XPathConstants.NODESET);
for (int j = 0; j < 10; j++){
System.out.println(j + "--" +nodeList3.item(j).getFirstChild().toString());
}
但是我得到以下输出。
0--[#text: N+]
1--[#text: N+]
2--[#text: N+]
如何仅使用XPath获得一个? 因为当我构建out.txt时,我只需要这些极性值之一,因为在每条推文中都只有一个值,因此所有的推文都弄乱了。 我一直在尝试不同的表情,但我不明白,
谢谢。
如果要获取第一个极性节点的值节点,则使用表达式“ / tweets / tweet / sentiments / polarity / value [1]”表示“给第一个称为值的节点,每个称为极性的节点”尝试使用/ tweets / tweet / sentiments / polarity [1] / value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.