gpt4 book ai didi

xpath 只查询子元素

转载 作者:行者123 更新时间:2023-12-03 16:05:20 25 4
gpt4 key购买 nike

我正在尝试选择一组交互节点,然后遍历每个节点并从其子节点中选择数据

var interactions = xpath.select('//interaction[@aoinclude="true"]', doc);

循环

async.each(interactions, parseInteraction, function (err) {
if(err){
// A interaction failed
} else {
callback(null, 'Fetched quiz data')
}
});


function parseInteraction(interaction, callback){
var type = xpath.select('//interaction/@type', interaction);
}

我的问题是 parseInteraction 从整个文档获取节点,而不仅仅是当前交互节点,并输出我所有交互的数组

xml:

<some elements>
<interactions>
<interaction>
<some elements></some nodes>
</interaction
</interactions>
<interactions>
<interaction>
<some elements></some nodes>
</interaction
</interactions>
<interactions>
<interaction>
<some elements></some nodes>
</interaction
</interactions>
</some nodes>

最佳答案

如果在 //interaction/@type 中的 interaction 应该是在 //interaction[ 中的 interaction 的 child @aoinclude="true"],那么你可以简单地从前者中删除 descendant-or-self 轴(//):

function parseInteraction(interaction, callback){
var type = xpath.select('interaction/@type', interaction);
}

或者在 XPath 的开头使用点 (.) 使其相对于当前上下文节点:

function parseInteraction(interaction, callback){
var type = xpath.select('./interaction/@type', interaction);
}

关于xpath 只查询子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32778652/

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