如果某些属性值不匹配,我正在尝试从 xml 中删除节点。这是我的 XML:
<CONFIGURATIONS>
<CONFIG1 DOMAIN="CAE" FOCUS="IN" STATUS="ACTIVE" >
<ATTR>1<ATTR>
</CONFIG1>
<CONFIG1 DOMAIN="CAE" FOCUS="OUT" STATUS="INACTIVE" >
<ATTR>2<ATTR>
</CONFIG1>
<CONFIG1 DOMAIN="CAE" FOCUS="OUT" STATUS="ACTIVE" >
<ATTR>2<ATTR>
</CONFIG1>
<CONFIG1 DOMAIN="MFG" FOCUS="OUT" STATUS="ACTIVE" >
<ATTR>3<ATTR>
</CONFIG1>
</CONFIGURATIONS>
我想删除没有 DOMAIN 值的节点作为 CAE 并且 FOCUS 不是 OUT 并且 STATUS 不是 ACTIVE。
<CONFIGURATIONS>
<CONFIG1 DOMAIN="CAE" FOCUS="OUT" STATUS="ACTIVE" >
<ATTR>2<ATTR>
</CONFIG1>
我正在使用以下 xslt:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="SM_CONFIG_ITEM [@DOMAIN !='CAE' and @FOCUS !='OUT' and @STATUS != 'INACTIVE']"/>
</xsl:stylesheet>
但它没有产生所需的输出。我究竟做错了什么?