我有一个带有某个节点的xml文件(在本例中为parentNode),我想知道有多少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。
有办法做到这一点吗?
答案 0 :(得分: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>