gpt4 book ai didi

c# - 阅读 xml 的最佳方式

转载 作者:IT王子 更新时间:2023-10-29 04:51:53 25 4
gpt4 key购买 nike

嗨,我有一个这样的 xml 文档:

<Students>
<student name="A" class="1"/>
<student name="B"class="2"/>
<student name="c" class="3"/>
</Students>

我想使用 XmlReader阅读此 xml 并返回学生列表 List<student> .我知道这可以通过以下方式实现:

 List<Student> students = new List<Student>();
XmlReader reader = XmlReader.Create("AppManifest.xml");
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "student")
{
students.Add(new Student()
{
Name = reader.GetAttribute("name"),
Class = reader.GetAttribute("Class")
});
}
}

我只想知道有没有更好的解决办法?

我正在使用 silverlight 4。xml 结构是静态的,即。它只有一个 Students节点和所有具有上述属性的学生节点将只存在。

最佳答案

绝对 - 使用 LINQ to XML。它如此简单得多:

XDocument doc = XDocument.Load("AppManifest.xml");
var students = doc.Root
.Elements("student")
.Select(x => new Student {
Name = (string) x.Attribute("name"),
Class = (string) x.Attribute("class")
})
.ToList();

XmlReader 是一种相对较低级别的类型 - 我会避免使用它,除非您真的不能一次性将整个 XML 写入内存。即使那样,如果您只需要文档的子树,也有一些方法可以将 LINQ to XML 与 XmlReader 结合使用。

关于c# - 阅读 xml 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5195728/

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