libxml的xmlXPathEvalExpression秩序(libxml xmlXPathEva

2019-10-19 15:45发布

我已经开始使用libxmlC ,和我使用的xmlXPathEvalExpression函数来计算XPath。

我的XML文件实际上是一个表,在该表代表一行中的每个子节点和它的属性是相应的值,因此顺序很重要。

我找不到任何关于在关于其为了功能的信息。 它是否返回节点的文档顺序

例如,下面的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <TABLE0>
      <Row Item0="1" Item1="2"/>
      <Row Item0="2" Item1="3"/>
      <Row Item0="3" Item1="4"/>
    </TABLE0>
    <TABLE1>
      <Row Item0="1" Item1="12"/>
      <Row Item0="6" Item1="15"/>
    </TABLE1>
</Root>

我可以肯定的是评估后/Root/TABLE0/*和获取节点集,调用nodeSet->nodeTab[0]会得到第一行, nodeSet->nodeTab[1]将获得第二个等等?

如果没有,有没有办法通过文档顺序排序呢?

谢谢

Answer 1:

是的,评估XPath表达式的结果xmlXPathEvalExpression或编译xmlXPathCompile文档顺序总是排序。 (在内部,他们通过调用编译xmlXPathCompileExpr真正的某种标志。)



文章来源: libxml xmlXPathEvalExpression order