gpt4 book ai didi

C# Linq to XML,当 child 满足条件时获取 parent

转载 作者:数据小太阳 更新时间:2023-10-29 01:46:55 25 4
gpt4 key购买 nike

我需要一些帮助。我有这个 xml 文档:

<?xml version="1.0" encoding="utf-8"?>
<MyItems>
<Parent upc="A00000000000000000000001" sku="" archivo="pantalon1.jpg">
<Child upc="101" sku="" archivo="image##.jpg">
<GrandChild archivo="image##.jpg" />
</Child>
<Child upc="102" sku="" archivo="image##.jpg">
<GrandChild archivo="image##.jpg" />
</Child>
</Parent>
<Parent upc="A00000000000000000000002" sku="" archivo="image##.jpg">
<Child upc="101" sku="" archivo="image##.jpg">
<GrandChild archivo="image##.jpg" />
</Child>
<Child upc="102" sku="" archivo="image##.jpg">
<GrandChild archivo="image##.jpg" />
</Child>
</Parent>
<Parent upc="200" sku="" archivo="image##.jpg">
<Child upc="201" sku="" archivo="image##.jpg">
<GrandChild archivo="image##.jpg" />
</Child>
<Child upc="202" sku="" archivo="image##.jpg">
<GrandChild archivo="image##.jpg" />
</Child>
</Parent>
</MyItems>

然后,我尝试选择“ child ”满足条件的所有“ parent ”。例如,所有包含子项的父项,子项属性 upc 等于 101

我正在研究这篇文章: Select nodes based on properties of descendant nodes

但我就是得不到我想要的。

最佳答案

XDocument doc = ...;
var targetUpc = 101;
var query = doc.Descendants("Parent")
.Where(p => p.Elements("Child")
.Any(c => (int)c.Attribute("upc") == targetUpc)
);

所以查询所做的是选择所有名为 Parent 的后代元素,其中任何名为 Child 的子元素都有一个名为 upc 的属性等于目标 upc 值 targetUpc。希望您应该能够理解这一点。

关于C# Linq to XML,当 child 满足条件时获取 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7563020/

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