Xml 包含属性的Xpath
鉴于此XML:Xml 包含属性的Xpath,xml,xpath,Xml,Xpath,鉴于此XML: <log> <xplmsg logdate="31-03-11 23:30:55" > <schema> <infopairs> <info name="device" value="Blah Humidity" ></info> <info name="type" value="humidity" ></info>
<log>
<xplmsg logdate="31-03-11 23:30:55" >
<schema>
<infopairs>
<info name="device" value="Blah Humidity" ></info>
<info name="type" value="humidity" ></info>
</infopairs>
</schema>
</xplmsg>
</log>
xPath将返回什么:
<xplmsg logdate="31-03-11 23:30:55" >
<schema>
<infopairs>
<info name="device" value="Blah Humidity" ></info>
<info name="type" value="humidity" ></info>
</infopairs>
</schema>
</xplmsg>
包括logdate=“31-03-11 23:30:55”我想您需要
/log/xplmsg[@logdate = '31-03-11 23:30:55']
尽管@Alejandro的答案是正确的,还有更简单的XPath表达式可以精确地选择所需的元素:
/*/xplmsg
甚至:
/*/*
这是因为在所提供的XML文档中,top元素只有一个子元素——在本例中,不需要指定特定的属性名称/值,甚至不需要指定要选择的元素的名称
如果希望选择xplmsg
子树的所有节点,请使用以下XPath表达式:
/*/xplmsg//@* | /*/xplmsg//node()
好问题,+1。有关完整的解决方案,请参见我的答案。:)