XPath为0- *子级别

时间:2011-08-15 12:43:37

标签: xml xpath

我有以下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表达式。我希望你能帮助我。感谢。

2 个答案:

答案 0 :(得分:1)

//folder[@ID='some_id' and @Name='some_name']/descendant::*

请参阅:

xpath axes

答案 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()/的缩写