Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中使用XPath解析XML_Java_Xml_Parsing - Fatal编程技术网

如何在Java中使用XPath解析XML

如何在Java中使用XPath解析XML,java,xml,parsing,Java,Xml,Parsing,我想得到一个标记名控件作为结果。我正在使用XPath解析XML文件。目前我只得到一个空白窗口,我不知道为什么 我的XML文件: <tags> <row Id="1" TagName="soccer" Count="7" ExcerptPostId="12371" WikiPostId="12370" /> <row Id="2" TagName="servos" Count="63" ExcerptPostId="186" WikiPostId="185"

我想得到一个标记名控件作为结果。我正在使用XPath解析XML文件。目前我只得到一个空白窗口,我不知道为什么

我的XML文件:

<tags>
  <row Id="1" TagName="soccer" Count="7" ExcerptPostId="12371" WikiPostId="12370" />
  <row Id="2" TagName="servos" Count="63" ExcerptPostId="186" WikiPostId="185" />
  <row Id="3" TagName="control" Count="394" ExcerptPostId="192" WikiPostId="191" />
  <row Id="5" TagName="gait" Count="4" ExcerptPostId="12362" WikiPostId="12361" />
</tags>
预期产出应为:

我的输出:控制


您正在得到一个异常,您正在默默地使用它。将e.printStackTrace添加到catch块以了解它是什么

假设您解决了这个问题,那么您似乎也在使用xpath来选择空的自关闭元素的文本内容

如果要选择元素属性的值,需要执行以下操作:

/tags/row[@TagName='control']/@TagName

有关更多信息,请参阅此SO帖子:

您是否尝试过调试它?您是否遇到任何异常?还可以在catch块中临时添加e.printStackTrace,以便查看可能引发的异常。只需一个词:controlyes,我的输出:control您的xpath应该以双斜杠//标记开头。
/tags/row[@TagName='control']/@TagName