c# - 反序列化 XmlDocument 的最短方法

标签 c# xml .net-4.5 .net-4.6

我正在寻找一种简洁的方法来反序列化 XmlDocument 对象。我找到的最接近的是 this但我真的很想知道是否有更好的方法来执行此操作(在 .NET 4.5 甚至 4.6 中),因为我已经有了 XmlDocument。

所以目前看起来如下:

// aciResponse.Data is a XmlDocument
MyClass response;
using (XmlReader reader = XmlReader.Create((new StringReader(aciResponse.Data.InnerXml))))
{
    var serializer = new XmlSerializer(typeof(MyClass));
    response =  (MyClass)serializer.Deserialize(reader);
}

感谢任何更好的主意!

最佳答案

如果您已经有一个 XmlDocument 对象,那么您可以使用 XmlNodeReader

MyClass response = null;
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
using (XmlReader reader = new XmlNodeReader(aciResponse.Data))
{
    response = (MyClass)serializer.Deserialize(reader);
}

关于c# - 反序列化 XmlDocument 的最短方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28283336/

相关文章:

c# - Task.WaitAll 不等待任务完成

c# - MVC 4 Web 应用程序中的应用程序范围日志记录

c# - 如何突出显示评论中的类型?

java - 有没有办法解析 XML,即使不同节点中的标签名称相同

Python 3.5 无法使用 via minidom 编写 xml

c# - 如何解决 EF 5 Code First 中组合的一对一和一对多关系

.net - 安装了.NET 4.5的构建服务器能否成功地将目标为4.0的项目部署到仅安装.NET 4.0的服务器上?

c# - 在应用程序内操作 PowerShell?

C# 序列化 WinForm

xml - 按相同标准对不同元素进行排序