gpt4 book ai didi

python - 使用 xpath 匹配第一组元素

转载 作者:行者123 更新时间:2023-12-01 06:17:20 24 4
gpt4 key购买 nike

我有一个如下所示的 xml 文档。

<foo>
<bar type="artist"/> Bob Marley </bar>
<bar type="artist"/> Peter Tosh </bar>
<bar type="artist"/> Marlon Wayans </bar>
</foo>
<foo>
<bar type="artist"/> Bob Marley </bar>
<bar type="artist"/> Peter Tosh </bar>
<bar type="artist"/> Marlon Wayans </bar>
</foo>
<foo>
<bar type="artist"/> Bob Marley </bar>
<bar type="artist"/> Peter Tosh </bar>
<bar type="artist"/> Marlon Wayans </bar>
</foo>

我想构造一个仅返回第一组的 xpath:

<bar type="artist"/> Bob Marley </a>
<bar type="artist"/> Peter Tosh </a>
<bar type="artist"/> Marlon Wayans </a>

如何解决这个问题?我已经尝试过 //bar[@type='artist'] 但显然还有更多内容。提前致谢。

最佳答案

为了仅获取某些“索引”节点的子元素:

//foo[1]/bar[@type='artist']

C# 示例:

string xml =
@"<root>
<foo>
<bar type='artist'> Artist 1 </bar>
<bar type='artist'> Artist 2 </bar>
<bar type='artist'> Artist 3 </bar>
</foo>
<foo>
<bar type='artist'> Artist 1 </bar>
<bar type='artist'> Artist 2 </bar>
<bar type='artist'> Artist 3 </bar>
<bar type='artist'> Artist 4 </bar>
</foo>
</root>";
XmlDocument document = new XmlDocument();
document.LoadXml(xml);

Assert.That(document.SelectNodes(@"/root/foo[1]/bar[@type='artist']").Count,
Is.EqualTo(3));
Assert.That(document.SelectNodes(@"//foo[1]/bar[@type='artist']").Count,
Is.EqualTo(3));

关于python - 使用 xpath 匹配第一组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2525627/

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