我正在尝试从Web服务读取xml字符串并将其反序列化。
每个请求的响应都有一些公共节点和一些更改的节点,我只需要公共节点,然后我创建了一个包含公共属性的类,因此Deserialize
上有异常,因为不能查找每个节点的属性。
如何自定义Deserialize
以仅反序列化该类中的现有属性?
public static T ParseXml<T>(string xmlString) where T : class, new()
{
try
{
var reader = XmlReader.Create(ToStream(xmlString.Trim()), new XmlReaderSettings()
{
ConformanceLevel = ConformanceLevel.Document
});
return new Xml.XmlSerializer(typeof(T)).Deserialize(reader, new Xml.XmlDeserializationEvents()) as T;
}
catch (Exception ex)
{
return new T();
}
}