gpt4 book ai didi

c# - 如何使用 LINQ to XML 将多级 xml 转换为对象?

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

我的 XML 文件:

<myobject property1="foo" property2="bar">
<property3>value1</property3>
<property3>value1</property3>
<property3>value1</property3>
</myobject>

我的 C# 代码:

List<MyObject> myObjectsInDB = (from f in xmlDoc.Descendants("myobject")
select new MyObject()
{
Property1 = f.Attribute("property1").Value,
Property2 = f.Attribute("property2").Value,
// Property3 = f.Element("property3").Value,
}).ToList();

如果您在 xml 文件中注意到我有 3 个元素需要转换为 C# 类以及 myobject 元素及其属性。访问 xml 中各个对象的最佳方式是什么。我知道我可能只运行一个单独的选择,但我想知道是否有更好的方法来访问它们,这样我就不必对所有内容都运行两次。

最佳答案

var result = xmlDoc.Descendants("myobject")
.Select(m => new
{
Property1 = m.Attribute("property1").Value,
Property2 = m.Attribute("property2").Value,
Property3 = m.Descendants("property3").Select(p3=>p3.Value).ToList()
})
.ToList();

关于c# - 如何使用 LINQ to XML 将多级 xml 转换为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16157744/

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