2009-08-12 30 views
5

Nesnesi XML olarak ileten bir kitaplığı yeniden düzenlemeye çalışıyorum. Ben .NET Framework XmlSerialzer serileştirme işleyebilir düşünüyorum, ancak sınıfın tüm ToXML işlevi var. İçinde tüm dize değerleri & ve benzeri gibi karakterlerden kaçan bir işlevden geçirilir.XmlSerializer özel karakterleri kaçar &?

XmlSerializer bu karakterlerden otomatik olarak kaçmıyor mu?

cevap

10

olarak değiştirecektir.

using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Xml.Serialization; 
using System.Xml; 

namespace TestXmlSerialiser 
{ 
    public class Person 
    { 
     public string Name; 
    } 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      Person person = new Person(); 
      person.Name = "Jack & Jill"; 

      XmlSerializer ser = new XmlSerializer(typeof(Person)); 

      XmlWriterSettings settings = new XmlWriterSettings(); 
      settings.Indent = true; 

      using (XmlWriter writer = XmlWriter.Create(Console.Out, settings)) 
      { 
       ser.Serialize(writer, person); 
      } 
     } 
    } 
} 

döner

<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Name>Jack &amp; Jill</Name> 
</Person> 
1

Tüm .NET XML API'ları XML'in kurallarını doğal olarak anlar. Gerekirse <'u &lt; vb.