微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xpath – text()和string()之间的区别

有人可以解释text()和string()函数间的区别.我经常使用一个与其他,但它没有任何区别,两者都将获得xml节点的字符串值.

解决方法

Can someone explain the difference between text() and string()
functions.

I. text()不是一个功能,而是一个node test.

它用于选择上下文节点的所有文本节点子节点.

因此,如果上下文节点是名为x的元素,则text()将选择x的所有文本节点子节点.

其他例子:

/a/b/c/text()

选择作为顶级元素a的子元素的任何b元素的子元素的所有c元素的所有文本节点子元素.

II. string()功能

通过定义string(exprSelectingASingleNode)返回节点的string value.

元素的字符串值是其所有文本节点后代的连接 – 按文档顺序.

因此,如果在以下XML文档中:

<a>
  <b>2</b>
  <c>3
    <d>4</d>
  </c>
  5
</a>

string(/ a)返回(不带周围的引号):

"
  2
  3
    4

  5
"

如我们所见,字符串值反映了三个仅空白的文本节点,我们通常无法注意和解释.

一些XML解析器可以选择剥离仅空白的文本节点.如果上述文档被解析为仅空白的文本节点剥离,则相同的功能

string(/a)

现在返回:

"23
    4
  5
"

原文地址:https://www.jb51.cc/html/230219.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐