gpt4 book ai didi

c# - 如何在 .NET 中读取 XML?

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

这里是 XML 菜鸟!所以我有一些 xml 数据:

<DataChunk>
<ResponseChunk>
<errors>
<error code=\"0\">
Something happened here: Line 1, position 1.
</error>
</errors>
</ResponseChunk>
</DataChunk>

我如何获得“错误”列表,我可以在其中访问“错误代码”和以下文本描述...?另外,我在 c# 中使用 .net4.0...谢谢!

最佳答案

将 XML 加载到 XmlDocument 中,然后使用 xpath 查询来提取您需要的数据。

例如

XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlstring);

XmlNode errorNode = doc.DocumentElement.SelectSingleNode("/DataChunk/ResponseChunk/Errors/error");

string errorCode = errorNode.Attributes["code"].Value;
string errorMessage = errorNode.InnerText;

如果 XML 有可能包含多个错误元素,您可以使用 SelectNodes 获取包含该 xpath 中所有元素的 XmlNodeList。例如:

XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlstring);

XmlNodeList errorNodes = doc.DocumentElement.SelectNodes("/DataChunk/ResponseChunk/Errors/error");

foreach(XmlNode errorNode in errorNodes)
{
string errorCode = errorNode.Attributes["code"].Value;
string errorMessage = errorNode.InnerText;
}

选项 2

如果您有 XML 的 XML 架构,您可以将该架构绑定(bind)到一个类(使用 .NET xsd.exe 工具)。一旦你有了它,你就可以将 XML 反序列化为一个对象,并从该对象而不是原始 XML 中使用它。这本身就是一个完整的主题,因此如果您确实有架构,那么值得研究一下。

关于c# - 如何在 .NET 中读取 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4752796/

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