2

如果我有这样的 XML:(只是举个例子)

<restaurant>
    <tables>
            <table id=1 />
            <table id=2 />
            <table id=3 />
    </tables>

而且我必须计算表的数量,正确的 Xpath 表达式是:

restaurant/tables/count(table)

或者

count(restaurant/tables/table)

?

谢谢

4

2 回答 2

4

查看此 Microsoft XPath count() 教程

count(/restaurant/tables/table)

将计算上述路径中的表格元素。

于 2012-12-10T10:42:23.030 回答
0
restaurant/tables/count(table)

这个表达式只在 XPath 2.0 中是合法的。它产生一个数字序列,如果 XML 文档有多个restorantrestorant/tables元素,则该序列的长度可能大于一个。

count(restaurant/tables/table)

此表达式在 XPath 1.0 和 XPath 2.0 中都有效。它产生一个数字。

因此,一般来说,这两个表达式是不同的,只有第二个在 XPath 1.0 中是合法的,而在 XPath 2.0 中,这些表达式可能会产生不同的结果,具体取决于评估它们的 XML 文档。

但是在指定的 XML 文档上,这两个表达式(在 XPath 2.0 中计算时)产生相同的结果:

3
于 2012-12-10T13:36:05.373 回答