gpt4 book ai didi

c - libxml xmlXPathEvalExpression顺序

转载 作者:太空宇宙 更新时间:2023-11-04 02:04:16 28 4
gpt4 key购买 nike

我已经开始在 C 中使用 libxml,并且正在使用 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] 会得到第二个等等?

如果不是,有没有办法按文档顺序排序?

谢谢

最佳答案

是的,使用 xmlXPathEvalExpression 评估或使用 xmlXPathCompile 编译的 XPath 表达式的结果始终按文档顺序排序。 (在内部,它们是通过使用 true 排序标志调用 xmlXPathCompileExpr 来编译的。)

关于c - libxml xmlXPathEvalExpression顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22626947/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com