Xml XSLT选择多个项

Xml XSLT选择多个项,xml,xslt,Xml,Xslt,我有以下XML: <?xml version="1.0" encoding="UTF-8"?> <History> <Release Date="20170927" Version="2"> <Item Type="">Element 2.0</Item> <Item Type="">Element 2.1</Item> <Item>Elemen

我有以下XML:

<?xml version="1.0" encoding="UTF-8"?>
<History>
    <Release Date="20170927" Version="2">
        <Item Type="">Element 2.0</Item>
        <Item Type="">Element 2.1</Item>
        <Item>Element 2.2</Item>
        <Item Type="Remark">REMARK!</Item>
    </Release>
    <Release Date="20170925" Version="1">
        <Item Type="">Element 1.0</Item>
        <Item Type="">Element 1.1</Item>
        <Item>Element 1.2</Item>
        <Item Type="Remark">REMARK!</Item>
    </Release>
</History>
其中缺少元素2.2和1.2(来自元素)

那么,如何修复XSLT以获取元素呢

<xsl:for-each select="History/Release/Item[@Type!='Remark' or not(@Type)]">

而不是

<xsl:for-each select="History/Release/Item[@Type!='Remark']">

使用


而不是

<xsl:for-each select="History/Release/Item[@Type!='Remark']">

以下是带条件表达式的xslt:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">

     <xsl:for-each select="History/Release/Item[not(@Type)] | History/Release/Item[@Type!='Remark']">
       <xsl:value-of select="." disable-output-escaping="yes"/><br />
     </xsl:for-each>

</xsl:template>
</xsl:stylesheet>



以下是带条件表达式的xslt:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">

     <xsl:for-each select="History/Release/Item[not(@Type)] | History/Release/Item[@Type!='Remark']">
       <xsl:value-of select="." disable-output-escaping="yes"/><br />
     </xsl:for-each>

</xsl:template>
</xsl:stylesheet>



非常好用-感谢您在这方面花时间!工作完美-感谢您在这方面花费时间!也很好用,谢谢!我接受了鲁佩什的答案,因为它比较短。。。我之前没有看到他的答案。谢谢。效果也很好,谢谢!我接受了鲁佩什的答案,因为它比较短。。。我之前没有看到他的答案。谢谢