我有带节点的XML字符串:
MyXmlString="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><MyNodes><Node1 /><Node2 /><Node3 /></MyNodes>";
我上课了:
public class MyClass
{
[DataMember]
[XmlElement("Node1", Order = 10)]
public String Node1 { get; set; }
[DataMember]
[XmlElement("Node3", Order = 20)]
public String Node3 { get; set; }
}
当我从XML反序列化为对象时,我想跳过字符串中的Node2:
MyClass MyObject= XElement.Parse(MyXmlString).FromXml<MyClass>();
MyObject
具有Node1
的值,但Node3
为空,即使xmlString
具有值。
将一些对象序列化为Xml时,我可以使用xmlIgnore。但我的情况恰恰相反 - xml有我不需要的节点。最简单的方法是什么?
答案 0 :(得分:1)
如果删除Order
属性,您将获得Node3的值,XmlSerializer
将忽略Node2。如果您真的不需要订购,那么您就不应该使用它。
在这里查看非常相似的案例:XmlSerializer. Skip xml unknown node