从xsl节点集中删除

时间:2014-12-15 16:27:38

标签: xslt-1.0 node-set

假设你有这样的文件:

<A>
    <B>
        <C>one</C>
    </B>
    <B>
        <C>two</C>
    </B>         
    <B>
        <C>three</C>
    </B>
</A>

然后使用xsl创建B节点的节点集

<xsl:variable name="bSet" select="//A/B"/>

你现在有了这个:

    <B>
        <C>one</C>
    </B>
    <B>
        <C>two</C>
    </B>         
    <B>
        <C>three</C>
    </B>

在xsl 1.0中从此节点集中删除特定节点集的可接受方法是什么?例如,你只想要B的C是“一个”或“两个”,而不是“三个”?

    <B>
        <C>one</C>
    </B>
    <B>
        <C>two</C>
    </B>

如何在xsl中执行此操作,使用更多exclusve选择器r可以在声明后从节点集中删除(即动态是java Arraylist)?

1 个答案:

答案 0 :(得分:1)

表达式:

$bSet[not(C='three')]

选择

<B>
    <C>one</C>
</B>
<B>
    <C>two</C>
</B>

恐怕我不明白你的“延伸”问题。