2016-05-17 16 views

答えて

0

新しいノードを作成できます。 は、その後、私はあなたのクラスの内部ToXML()FromXML()メソッドを作成し、あなたのNodeSurroundedノード

0

に追加する XmlNode.AppendChild

を使用しています。

public string ToXML() 
{ 
    return new XDocument(
       new XElement("NodeSurrounded"), 
        new XElement("A", this.Property)).ToString(); 
} 

public void FromXML(string xml) 
{ 
    var document = XDocument.Parse(xml); 
    this.Property = document.Root.Element("A").Element("Property").Value; 
} 
+0

OPは組み込みのXMLシリアル化(XMLSerializer)を使用したいと考えています。 'ToXML'と' FromXML'メソッドを作成すると何でも実装できますが、間違っていなければ、このようなコードを避けて.NETコードを使いたいと思っています。 –

2

我々は手動でxmlノードを追加し、次のアプローチ

A a = new A { Property = "value" }; 
var xs = new XmlSerializer(typeof(A)); 

using (var xmlWriter = XmlWriter.Create("test.xml")) 
{ 
    xmlWriter.WriteStartElement("NodeSurrounded"); 
    xs.Serialize(xmlWriter, a); 
    xmlWriter.WriteEndElement(); 
} 

を試してみてください。

次に、デシリアライズ時に手動でこのノードをバイパスする必要があります。

using (var xmlReader = XmlReader.Create("test.xml")) 
{ 
    xmlReader.ReadToFollowing("A"); 
    a = (A)xs.Deserialize(xmlReader); 
} 
関連する問題