为什么sum(// *)会在此xml上返回此答案?

时间:2016-10-18 18:28:23

标签: xpath

这是xml

<a><b>2</b><c>3</c></a>

这是XPath查询

sum(//*)

产生以下结果:

Type: Num
Value : 28.0000

这是XPath 1.0
请解释类型转换(逐步)

1 个答案:

答案 0 :(得分:6)

让我们分解一下:

  • //*将匹配abc个节点
  • sum() function将总结每个节点number()函数调用的结果
  • number() function会在每个匹配的节点上调用string()
  • “{”的number()结果为23,“b”为2,“c”为3 - 23+2+3=28