gpt4 book ai didi

c# - 如何将对象集合/字典序列化为 value

转载 作者:可可西里 更新时间:2023-11-01 08:01:33 24 4
gpt4 key购买 nike

有没有办法将键/值对(最好是强类型,但也可能来自字典)序列化为下面所需的格式?

public List<Identifier> Identifiers = new List<Identifiers>();

public class Identifier
{
public string Name { get; set; }
public string Description { get; set; }
}

这通常会序列化为以下内容:

<Identifiers>
<Identifier>
<Name>somename</Name>
<Description>somedescription</Description>
</Identifier>
<Identifier>
...
</Identifier>
</Identifiers>

我们考虑的另一种可能的方法是使用哈希表/字典:

public Dictionary<string, string> Identifiers = new Dictionary<string,string>
{
{ "somename", "somedescription"},
{ "anothername", "anotherdescription" }
};

但这将需要自定义序列化字典或自定义 XmlWriter

我们想要实现的输出是:

<Identifiers>
<somename>somedescription</somename>
<anothername>anotherdescription</anothername>
</Identifiers>

因此,我们正在寻找代码示例,以了解如何最好地解决这个问题以获得我们想要的输出。

编辑:也许我应该解释得更好。我们已经知道如何序列化对象。我们正在寻找的是特定类型序列化的答案......我将扩展上面的问题

最佳答案

使用 LINQ to XML 很容易:

Dictionary<string, string> Identifiers = new Dictionary<string,string>()
{
{ "somename", "somedescription"},
{ "anothername", "anotherdescription" }
};

XElement xElem = new XElement("Identifiers",
Identifiers.Select(x=>new XElement(x.Key,x.Value)));

string xml = xElem.ToString(); //xElem.Save(.....);

输出:

<Identifiers>
<somename>somedescription</somename>
<anothername>anotherdescription</anothername>
</Identifiers>

关于c# - 如何将对象集合/字典序列化为 <key>value</key>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421970/

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