当前位置: 代码迷 >> XML/SOAP >> XPath怎么选中大于两个子节点的对象
  详细解决方案

XPath怎么选中大于两个子节点的对象

热度:543   发布时间:2012-03-02 14:40:29.0
XPath如何选中大于两个子节点的对象?
XML code
<xml>
    <root>
        <data>
            <data><!--只要选择这一层-->
                <data>111</data>
                <data><!--这层不需要-->
                    <data>22</data>
                    <data>22</data>
                    <data>22</data>
                </data>
                <data>111</data>
                <data>111</data>
            </data>
        </data>
    </root>
</xml>


------解决方案--------------------
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>


<xsl:template match="xml/root/data/data">
<xsl:for-each select="data[count(./data)=0]">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

------解决方案--------------------
问题问的太模糊了。或者描述不准确。
大于两个子节点,是指子节点数量大于2个的?那应该是//data[count(*)>2]。
但根据你给的数据样本,跟这个问题又有矛盾。