2009-04-21 9 views

Antwort

4

Ich würde einfach entweder einen DOM (wie XmlDocument oder XDocument) oder für große Dateien verwenden, XmlWriter:

 XDocument xdoc = new XDocument(new XElement("xml", "a < b & c")); 
     Console.WriteLine(xdoc.ToString()); 

     XmlDocument xmldoc = new XmlDocument(); 
     XmlElement root = xmldoc.CreateElement("xml"); 
     xmldoc.AppendChild(root).InnerText = "a < b & c"; 
     Console.WriteLine(xmldoc.OuterXml); 

     StringBuilder sb = new StringBuilder(); 
     XmlWriterSettings settings = new XmlWriterSettings(); 
     settings.OmitXmlDeclaration = true; 
     using (XmlWriter xw = XmlWriter.Create(sb, settings)) 
     { 
      xw.WriteElementString("xml", "a < b & c"); 
     } 
     Console.WriteLine(sb); 
1

Ist das nicht genau das, was CDATA wird verwendet für in XML zu verstehen? Alles, was Sie achten müssen, ist, dass Ihre Daten nicht "]]>" enthalten, oder dass man sie irgendwie die altehrwürdige C-Technik entkommen:

Encoding: 
    '\' becomes '\\' 
    ']' becomes '\]' 
Decoding: 
    '\]' becomes ']' 
    '\\' becomes '\' 
Verwandte Themen