gpt4 book ai didi

c# - Linq to xml 根据子属性选择节点列表

转载 作者:太空宇宙 更新时间:2023-11-03 23:02:15 25 4
gpt4 key购买 nike

我一直在学习 LINQ to XML,但是我遇到了一个我有点卡住的场景。

如果我有以下 XML:

<root>
<planes />
<trains />
<cars>
<car name="civic">
<property name="4doors" />
<property name="4tires" />
</car>
<car name="f150">
<property name="2doors" />
<property name="4tires" />
</car>
<car name="crv">
<property name="4doors" />
<property name="4tires" />
</car>
<car name="scooter">
<property name="2tires" />
</car>
<car name="escape">
<property name="4doors" />
<property name="4tires" />
</car>
</cars>
</root>

如何返回具有 4 门的汽车列表?

到目前为止,我已经尝试了以下尝试:

// This will return a list of nulls

var fourDoorCars = xDoc.Descendants("cars").Descendants("car").Descendants("property").Where(x => x.Attribute("name").Value.Contains("4doors")).Select(x => x.Element("car")).ToList();

// This will return a list of all the 4doors properties.

var fourDoorCars = xDoc.Descendants("cars").Descendants("car").Descendants("property").Where(x => x.Attribute("name").Value.Contains("4doors")).ToList();

最佳答案

你可以这样做:

var query=xDoc.Descendants("car")
.Where(x=> x.Elements("property")
.Any(y=>y.Attribute("name").Value.Contains("4doors")));

关于c# - Linq to xml 根据子属性选择节点列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42678459/

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