我有以下XML文件:
<?xml version="1.0" encoding="UTF-16"?>
<Export>
<Folder ID="1004">
<Object ID="124" Name="NameABC" />
</Folder>
<Folder ID="1016">
<Folder Name="B">
<Object ID="124" Name="Name1" />
<Folder Name="A">
<Object ID="121244" Name="Name2" />
<Object ID="122134" Name="Name12" />
<Folder Name="KS">
<Object ID="667" Name="Name43" />
</Folder>
</Folder>
</Folder>
</Folder>
</Export>
现在我需要获得具有ID和NAME的所有<Object>
。
有时在第一个文件夹下有0个文件夹,ID为1016,有时为4。
我需要使用XPath表达式。我希望你能帮助我。感谢。
答案 0 :(得分:1)
//folder[@ID='some_id' and @Name='some_name']/descendant::*
请参阅:
答案 1 :(得分:0)
<xsl:apply-templates select="//Object">
<xsl:value-of select="@ID"/> - <xsl:value-of select="@Name"/>
</xsl:apply-templates>
将匹配所有<Object>
元素,并输出ID和Name属性值。
后代选择器(来自documentation)//
是/descendant-or-self::node()/
的缩写