"查找"按顺序返回节点吗?

sco*_*ozy 6 xml perl xpath dom libxml2

Do XML::LibXML::Node::find和相关方法是否保证节点列表总是按照XML文档中的顺序排序?

这对我来说很重要,因为我的文档对应于一个大数组,在这个数组中我希望能够在某些情况下删除一系列项目,并且我必须确保这样的内容一致地工作:

my @nodes = $dom->find('//MyElement[@attr=something]/descendant::Token/@id')
                ->get_nodelist;
for my $token ( reverse map { $_->value } @nodes ) {
    splice @my_big_array, $token, 1;
}
Run Code Online (Sandbox Code Playgroud)

困难在于没有记录XML::LibXML,我不知道这是否取决于libxml2实现,我不了解的文档,或者DOM标准或其他W3C标准,这些标准显然没有被阅读我的凡人.

nwe*_*hof 1

我基本上在一个相关问题中回答了这个问题。来自libxml2XML::LibXML的调用确保生成的节点集将按文档顺序排序。xmlXPathCompile