我对XPath Expression的类型感到有点困惑:
我有XPath表达式
/*/text()? What is its type?
count(/*/text()) what is its type?
两种类型之间有什么区别。
答案 0 :(得分:1)
表达式/*/text()
返回节点集(XPath 1.0)或节点序列(XPath 2.0),其中包含作为文档元素的直接子节点的所有文本节点。它不包括作为其他元素的子元素的文本节点,即给定文档
<root>foo<child>bar</child>baz</root>
/*/text()
将是一组两个文本节点,其中一个包含文本foo
,另一个包含baz
。
count
函数返回节点集(XPath 1.0)中的节点数/序列中的项(XPath 2.0)。在XPath 1.0中,所有数字都被视为双精度浮点,在XPath 2.0中count
has the more specific return type of xs:integer
。