gpt4 book ai didi

xml - 如何检查 XML 节点是否包含文本

转载 作者:数据小太阳 更新时间:2023-10-29 01:59:54 24 4
gpt4 key购买 nike

我如何检查 XML 节点是否包含文本或仅包含空节点?

示例:假设我们有以下 XML:

<text>
<p> </p>
<p> </p>
</text>

(注意 p 标签之间的空格)

在不同的 XML 中,我们有以下 XML:

<text>
<p>Hello World!</p>
</text>

我希望测试在第二个示例中通过,但在第一个示例中不通过,因为第二个示例包含文本,但第一个示例包含空节点。

有没有办法轻松实现这一点?

(我使用 XSLT 2.0。)

最佳答案

我认为normalize-space做你想做的,例如这将“通过”:

<xsl:if test="normalize-space(/text/p) != ''">
...
</xsl:if>

normalize-space将从字符串中删除所有前导和尾随空格,这将在第二个示例中留下文本,但删除第一个示例中的所有字符,以便您与空字符串进行比较 '' .

请注意,它还会按顺序将多个空白字符压缩为单个字符,例如 hello<space><space><space>there会变成hello<space>there .

http://www.w3.org/TR/xpath/#function-normalize-space (XPath 1)

关于xml - 如何检查 XML 节点是否包含文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com