gpt4 book ai didi

c# - "where"使用 linq xml 查询

转载 作者:太空宇宙 更新时间:2023-11-03 18:49:49 26 4
gpt4 key购买 nike

一直在绞尽脑汁想弄清楚如何执行 linq xml 查询。

我希望查询返回以下 xml 中类别/名称 =“第一类别”的所有“产品”项目的列表

<catalog>
<category>
<name>First Category</name>
<order>0</order>
<product>
<name>First Product</name>
<order>0</order>
</product>
<product>
<name>3 Product</name>
<order>2</order>
</product>
<product>
<name>2 Product</name>
<order>1</order>
</product>
</category>
</catalog>

最佳答案

像这样:

    XDocument doc = XDocument.Parse(xml);
var qry = from cat in doc.Root.Elements("category")
where (string)cat.Element("name") == "First Category"
from prod in cat.Elements("product")
select prod;

或者也可能使用匿名类型:

    XDocument doc = XDocument.Parse(xml);
var qry = from cat in doc.Root.Elements("category")
where (string)cat.Element("name") == "First Category"
from prod in cat.Elements("product")
select new
{
Name = (string)prod.Element("name"),
Order = (int)prod.Element("order")
};
foreach (var prod in qry)
{
Console.WriteLine("{0}: {1}", prod.Order, prod.Name);
}

关于c# - "where"使用 linq xml 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125093/

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