1

我有一个带有某个节点(在本例中为 parentNode)的 xml 文件,我想知道有多少 specialNode 没有具有某个属性的 childNode。

例子:

<parentNode>
    <specialNode>
        <childNode attrib=true />
        <childNode attrib=false />
    </specialNode>
    <specialNode>
        <childNode attrib=true />
        <childNode attrib=true />
    </specialNode>
    <specialNode>
        <childNode attrib=false />
    </specialNode>
</parentNode>

我想这样称呼:

<xsl:variable="foo" select="count( not( */specialNode/childNode[ attrib="true" ] ) ) />

... 并且 foo = 1 因为只有一个 specialNode 其所有子节点的 attrib = false。

有没有办法做到这一点?

4

1 回答 1

1
count(/parentNode/specialNode[not(childNode[@attrib='true'])])

这是更正后的 XML

<parentNode>
    <specialNode>
        <childNode attrib="false"/>
        <childNode attrib="false"/>
    </specialNode>
    <specialNode>
        <childNode attrib="true"/>
        <childNode attrib="true"/>
    </specialNode>
    <specialNode>
        <childNode attrib="false"/>
    </specialNode>
</parentNode>
于 2013-09-20T20:35:33.687 回答