如果我有这样的XML :(只是做一个例子)
<restaurant>
<tables>
<table id=1 />
<table id=2 />
<table id=3 />
</tables>
我必须计算表的数量,正确的Xpath表达式是:
restaurant/tables/count(table)
或
count(restaurant/tables/table)
谢谢
答案 0 :(得分:3)
答案 1 :(得分:0)
restaurant/tables/count(table)
此表达式仅在XPath 2.0中合法。它生成一系列数字,如果XML文档有多个restorant
或restorant/tables
元素,则此序列的长度可能大于1。
count(restaurant/tables/table)
此表达式在XPath 1.0和XPath 2.0中均有效。它产生一个数字。
因此,一般来说,两个表达式是不同的,只有第二个表达式在XPath 1.0和XPath 2.0中是合法的,这些表达式可能会产生不同的结果,具体取决于它们被评估的XML文档。
但是在指定的XML文档中,这两个表达式(在XPath 2.0中计算时)会产生相同的结果:
3