繁体   English   中英

Java使用Xpath解析XML多层次

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM