一个元素的 XPath returns 但另一个元素不 return?
XPath returns for one element but doesn't return the other?
我正在使用 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
XML 必须有一个根元素;你的有两个:fields
和 records
.
将它们包装在一个共同的根中以获得您期望的结果。
此外,如果您的 XML 没有名称空间,则没有理由打败它们。而不是
//*[local-name()='records']
使用
//records
另见
我正在使用 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
XML 必须有一个根元素;你的有两个:fields
和 records
.
将它们包装在一个共同的根中以获得您期望的结果。
此外,如果您的 XML 没有名称空间,则没有理由打败它们。而不是
//*[local-name()='records']
使用
//records
另见