我正在使用Java使用XPath提取值。我能够提取元素fields
下的元素,但未返回records
下的元素。
XML如下:
<?xml version="1.0" ?>
<qdbapi>
<action>****</action>
<errcode>0</errcode>
<errtext>No error</errtext>
<qid>****</qid>
<qname>****</qname>
<table>
<fields>
<field id="19" field_type="text" base_type="text">
</field>
</fields>
<records>
<record>
<f id="6">1</f>
</record>
</records>
</table>
</qdbapi>
以下代码:
XMLDOMDocObj.selectNodes("//*[local-name()='fields']")//21 fields returned
XMLDOMDocObj.selectNodes("//*[local-name()='records']")//no records are returned
答案 0 :(得分:1)
XML必须具有单个根元素;您有两个:fields
和records
。
将它们包装在一个通用根目录中,以获得所需的结果。
此外,如果您的XML没有名称空间,则没有理由取消它们。代替
//*[local-name()='records']
使用
//records
另请参见