2009-09-21 52 views

回答

3

XmlSerializer;注意,準確的XML名稱可以通過various attributes得到控制,但是你真正需要的是:

  • 公共型
  • 有一個默認的構造
  • 和公共讀/寫成員(理想屬性)

例子:

using System; 
using System.Xml; 
using System.Xml.Serialization; 
public class Person { 
    public string Name { get; set; } 
} 

static class Program { 
    static void Main() { 
     Person person = new Person { Name = "Fred"}; 
     XmlSerializer ser = new XmlSerializer(typeof(Person)); 
     // write 
     using (XmlWriter xw = XmlWriter.Create("file.xml")) { 
      ser.Serialize(xw, person); 
     } 
     // read 
     using (XmlReader xr = XmlReader.Create("file.xml")) { 
      Person clone = (Person) ser.Deserialize(xr); 
      Console.WriteLine(clone.Name); 
     } 
    } 
} 
0

您需要使用類XmlSerializer的。主要方法是序列化和反序列化。他們接受流,文本讀者\作家和其他類。

代碼示例:

public class Program 
{ 
    public class MyClass 
    { 
     public string Name { get; set; } 
    } 

    static void Main(string[] args) 
    { 
     var myObj = new MyClass { Name = "My name" }; 
     var fileName = "data.xml"; 

     var serializer = new XmlSerializer(typeof(MyClass)); 

     using (var output = new XmlTextWriter(fileName, Encoding.UTF8)) 
      serializer.Serialize(output, myObj); 

     using (var input = new StreamReader(fileName)) 
     { 
      var deserialized = (MyClass)serializer.Deserialize(input); 
      Console.WriteLine(deserialized.Name); 
     } 

     Console.WriteLine("Press ENTER to finish"); 
     Console.ReadLine(); 
    } 
} 
相關問題