我有一个公共类,其属性如下:
[serializable]
public class Data
{
Public XmlNode VariableXMLData {get; set;}
}
VariableXMLData节点inturn包含一个xmlnode。例如,说:
VariableXMLData.OuterXML is "
<VariableXMLData>
<Change>Major</Change><Reason>Unknown</Reason>
</VariableXMLData> ".
问题是:当我序列化这个类时,输出如下:
<Data>
<VariableXMLData>
<VariableXMLData>
<Change>Major</Change><Reason>Unknown</Reason>
</VariableXMLData>
</VariableXMLData>
</Data>
如何在此处避免元素名称的多个标记。我想只有<VariableXMLData>
答案 0 :(得分:0)
我会选择这样的事情:
[serializable]
public class Data
{
[XmlIgnore]
Public XmlNode VariableXMLData {get; set;}
[XmlElement(ElementName="VariableXMLData")]
Public XmlNode VariableXMLDataParts {
get{
//handle the deserialization => returning the nodes you wish to return
// example only return the roots descendants...
}
set{
// handle your serialization if needed
}
}
不确定,但我认为你可以将第二种方法置于内部或受保护,因此不会显示给其他组件