首页 > 解决方案 > 在自闭元素之间选择文本

问题描述

我想在自闭pet元素之间选择文本。

输入:

<root>
    <pet/>pet1<pet/><pet>cor1</pet><pet>vsr</pet><pet/>mnt<pet/>
</root>

预期输出:

<output>
    <ou>pet1</ou>
    <ou>mnt</ou>
</output>

逻辑:

这里pet1mnt之间是自闭<pet/>的。所以我想选择这样的文本

试过xpath:

text()[preceding-sibling::pet][following-sibling::pet]

上面的 xpath 不起作用。我该如何解决这个问题?我正在使用 XSLT 2.0

谢谢你。

标签: xmlxslt-2.0

解决方案


您可以使用在空元素text()[preceding-sibling::node()[1][self::pet[not(node())]][following-sibling::node()[1][self::pet[not(node())]]之间查找文本节点;pet你无法区分XSLT/XPath 中的<pet/><pet></pet>,这些是词汇上的差异,没有反映在 XSLT/XPath 的树模型中。


推荐阅读