在进行XML反序列化时,可以使用一些不受版本限制的库或方法来解决这个问题。以下是几种常见的解决方法和代码示例:
using System.IO;
using System.Xml.Serialization;
public static T DeserializeFromXml(string xml)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (StringReader reader = new StringReader(xml))
{
return (T)serializer.Deserialize(reader);
}
}
// 示例用法
string xml = "John 30 ";
var person = DeserializeFromXml(xml);
using System.IO;
using System.Runtime.Serialization;
using System.Xml;
public static T DeserializeFromXml(string xml)
{
using (StringReader reader = new StringReader(xml))
{
using (XmlReader xmlReader = XmlReader.Create(reader))
{
DataContractSerializer serializer = new DataContractSerializer(typeof(T));
return (T)serializer.ReadObject(xmlReader);
}
}
}
// 示例用法
string xml = "John 30 ";
var person = DeserializeFromXml(xml);
using System.Xml;
public static T DeserializeFromXml(string xml)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNodeReader reader = new XmlNodeReader(doc.DocumentElement);
XmlSerializer serializer = new XmlSerializer(typeof(T));
return (T)serializer.Deserialize(reader);
}
// 示例用法
string xml = "John 30 ";
var person = DeserializeFromXml(xml);
这些方法都可以在不受版本限制的情况下进行XML反序列化。你可以根据自己的需求选择其中的一种方法来实现。
下一篇:不受触摸输入触发的悬浮按钮