我编写了一个JAVA程序来解析xml文件,如下所示:
<lom:contribute>
<lom:role>
<lom:source>LOMv1.0</lom:source>
<lom:value>author</lom:value>
</lom:role>
<lom:entity>toto</lom:entity>
<lom:date>
<lom:dateTime>2009-10-07</lom:dateTime>
</lom:date>
</lom:contribute>
<lom:contribute>
<lom:role>
<lom:source>LOMv1.0</lom:source>
<lom:value>instructional designer</lom:value>
</lom:role>
<lom:entity>titi</lom:entity>
<lom:date>
<lom:dateTime>2009-10-07</lom:dateTime>
</lom:date>
</lom:contribute>当角色值为author时,我想进行XPath查询以获得实体(在本例中为toto)。我现在提出了这个查询://*[local-name()='contribute']/*[local-name()='role']/*[local-name()='value'] = 'author'。如果文件中存在author,则此查询返回true,但我不知道如何获得实体值。提前谢谢。
发布于 2018-03-13 20:24:34
此XPath返回toto
//*[local-name()='contribute'][*[local-name()='role']/*[local-name()='value'] = 'author']/*[local-name()='entity']/text()如果删除最后一个/text(),它将返回包含文本toto的entity元素。我不知道你们在找哪一个。
https://stackoverflow.com/questions/49264969
复制相似问题