gpt4 book ai didi

c# - 如何基于多个xml属性存储和查找数据?

转载 作者:太空狗 更新时间:2023-10-29 23:15:49 28 4
gpt4 key购买 nike

我正在查询一个 xml 文件并返回每个选择的 3 个属性(每个符合我的条件的条目将返回 3 个属性详细信息)。我需要存储这些值,然后查找第一个属性,并返回与之相关的其他 2 个存储属性。

var items = from item in doc.Descendants("SUM")
select new
{
id = (string)item.Attribute("id"),
category = (string)item.Attribute("cat"),
selection = (string)item.Attribute("sel")
};

上面的代码为找到的每个item 返回3 个属性。我需要存储这 3 个条目以便将它们关联在一起,然后稍后对存储的条目执行查找。因此,例如,我需要能够查找 id=1 的存储值,并返回相应的类别和选择条目。

我正在研究C#的Lookup方法,但不知道如何使用它。列表似乎可以工作,但我不知道如何将多条数据存储到列表中的一个条目中(也许连接成一个条目,但我不确定是否要对其执行查找)。对于如何使用 LIST 或 LOOKUP(或其他未提及的方式)执行此操作的任何建议,我们将不胜感激。

最佳答案

您可以使用 Where (或其他选项,例如 FirstOrDefault 等)进一步过滤:

var items = from item in doc.Descendants("SUM")
select new
{
Id = (string)item.Attribute("id"),
Category = (string)item.Attribute("cat"),
Selection = (string)item.Attribute("sel")
};

var filtered = items.Where(i => i.Id == 1);

// Then use these as needed
foreach(var item in filtered)
{
Console.WriteLine("Cat: {0}, Sel: {1}", item.Category, item.Selection);
}

ToLookup方法实际上服务于一个非常不同的目的。它构建了一个实现 ILookup<T,U> 的数据结构。 ,这是一个查找表,您可以在其中轻松返回与特定键匹配的所有项目。如果您要从数据中执行多次查找,这很有用,但如果您只想“查找”与单个值匹配的项目,则这不是很有用。

关于c# - 如何基于多个xml属性存储和查找数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402441/

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