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

前端之家收集整理的这篇文章主要介绍了c# – 反序列化XmlDocument的最短方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种简洁的方法来反序列化XmlDocument对象.我发现最接近的是 this,但我真的很想知道是否有更好的方法(在.NET 4.5甚至4.6中),因为我已经有了XmlDocument.

所以目前看起来如下:

@H_502_4@// 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); }

谢谢你有更好的主意!

解决方法

您可以放弃XmlReader并使用 TextReader而不是使用TextReader XmlSerializer.Deserialize Method重载.

工作范例:

@H_502_4@void Main() { String aciResponseData = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><tag><bar>test</bar></tag>"; using(TextReader sr = new StringReader(aciResponseData)) { var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass)); MyClass response = (MyClass)serializer.Deserialize(sr); Console.WriteLine(response.bar); } } [System.Xml.Serialization.XmlRoot("tag")] public class MyClass { public String bar; }

猜你在找的C#相关文章