xslt使用多个条件

时间:2015-11-25 14:10:00

标签: xml xslt

我得到了以下xml

<root>
    <product>
        <someVal>123</someVal>
        <ProductIdentifier>
            <ProductIDType>01</ProductIDType>
            <IDTypeName>OK</IDTypeName>
            <IDValue>25</IDValue>
        </ProductIdentifier>
    </product>
    <product>
        <someVal>123</someVal>
        <ProductIdentifier>
            <ProductIDType>01</ProductIDType>
            <IDTypeName>Another</IDTypeName>
            <IDValue>25</IDValue>
        </ProductIdentifier>
    </product>
    <product>
        <someVal>123</someVal>
        <ProductIdentifier>
            <ProductIDType>01</ProductIDType>
            <IDTypeName>Good</IDTypeName>
            <IDValue>25</IDValue>
        </ProductIdentifier>
    </product>
    <product>
        <someVal>123</someVal>
        <ProductIdentifier>
            <ProductIDType>01</ProductIDType>
            <IDTypeName>Good</IDTypeName>
            <IDValue>25</IDValue>
        </ProductIdentifier>
    </product>
    <product>
        <someVal>123</someVal>
        <ProductIdentifier>
            <ProductIDType>01</ProductIDType>
            <IDTypeName>Bad</IDTypeName>
            <IDValue>25</IDValue>
        </ProductIdentifier>
    </product>
</root>

我想要复制包含&#39; Good&#39;的所有<product>个节点。 / product / ProductIdentifierIDTypeName

下的值

这里是我的变换

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="product[ProductIdentifier[IDTypeName != 'Good']]"/>
</xsl:stylesheet>

这很好但是现在我想复制/ product / ProductIdentifierIDTypeName下具有OK值的产品节点。我怎样才能写出这种复杂的情况?

由于

0 个答案:

没有答案