gpt4 book ai didi

c# - 将 XML 文档转换为流利的 C#

转载 作者:数据小太阳 更新时间:2023-10-29 02:23:15 25 4
gpt4 key购买 nike

我想将没有任何 XSD 架构关联的外部 XML 文档转换为流畅的 .NET 对象。

我有一个简单的 XML 文件,例如:

<application>
<parameters>
<param></param>
<param></param>
</parameters>
<generation />
<entities>
<entity ID="1">
<PropTest>Test</PropTest>
</entity>
<entity ID="2">
<PropTest>Another Test</PropTest>
</entity>
</entities>
</application>

我想像这样浏览文档:

var xConfig = new XmlConfig("file.xml");

// testValue should be assigned "Test"
string testValue = xConfig.Generation.Entities.Entity(1).PropTest;

在 .NET 3.5 中实现此目标的最佳方法是什么?

最佳答案

可以说,目前最好的方法是使用 Linq to XML。这比搞乱 XSD 和复杂的类定义要容易得多。

XDocument doc = XDocument.Load("file.xml");
var val = doc
.Descendants("entity")
.Where(p => p.Attribute("ID").Value == "1")
.Descendants("PropTest")
.FirstOrDefault();
if (val != null)
Console.WriteLine(val.Value);

我使用的示例 file.xml 是:

<?xml version="1.0" encoding="utf-8" ?>
<application>
<parameters>
<param></param>
<param></param>
</parameters>
<generation>
<entities>
<entity ID="1">
<PropTest>Test</PropTest>
</entity>
<entity ID="2">Another Test</entity>
</entities>
</generation>
</application>

关于c# - 将 XML 文档转换为流利的 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/461646/

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