繁体   English   中英

如何序列化XMLNode类型的属性

[英]How to serialize a property of type XMLNode

我有一个具有以下属性的公共班级:

[serializable]
public class Data
{
Public XmlNode VariableXMLData {get; set;}
}

VariableXMLData节点又包含一个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>一个节点

我会去这样的事情:

[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
      }
}

不确定,但是我认为您可以将第二种方法置于内部或受保护,因此它不会显示给其他程序集

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM