XSLT筛选器节点多个条件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSLT筛选器节点多个条件相关的知识,希望对你有一定的参考价值。
我正在寻找一种方法来过滤XML中的某些节点。在输出中,我想保留所有节点if:
<year>
是2020
和
[<year>
为2019 AND <available>
为是。
原始xml:
<root>
<item>
<code>1</code>
<available>YES</available>
<year>2020</year>
</item>
<item>
<code>2</code>
<available>NO</available>
<year>2020</year>
</item>
<item>
<code>3</code>
<available>NO</available>
<year>2019</year>
</item>
<item>
<code>3</code>
<available>YES</available>
<year>2019</year>
</item>
</root>
测试输出:
<root>
<item>
<code>1</code>
<available>YES</available>
<year>2020</year>
</item>
<item>
<code>2</code>
<available>NO</available>
<year>2020</year>
</item>
<item>
<code>3</code>
<available>YES</available>
<year>2019</year>
</item>
</root>
我可以使用以下方法过滤掉2020年,2019年的节点:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="no" indent="yes" method="xml"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="item[not(YEAR = 2020) and not(YEAR = 2019)]" />
</xsl:stylesheet>
我只是无法细化第二个条件<year> is 2019 AND <available> is YES.
答案
A year
不能为2020
AND
2019
。我相信你的意思是:以上是关于XSLT筛选器节点多个条件的主要内容,如果未能解决你的问题,请参考以下文章