2010-12-07 10 views
0

Ich möchte einfach XML als:C# XML-Serialisierung

> <?xml version="1.0" encoding="utf-8" ?> 
>  <contacts> 
>  <contact> 
>   <mobile>0555555555</mobile> 
>   <home>4212566</home> 
>   <office>45698752</office>  
>   <fax>090909</fax> 
>   <email>[email protected]</email> 
>  </contact> 
>  ................................ 
>  <contact> 
>   <mobile>0555555555</mobile> 
>   <home>4212566</home> 
>   <office>45698752</office>  
>   <fax>090909</fax> 
>   <email>[email protected]</email> 
>  </contact> 
>  </contacts> 

i Probe aus link text verwendet

alle gut funktionieren, aber es hat einige Attribute wie xmlns: xsi und xmlns: xsd. ich möchte es nicht auf meinem XML speichern. und nicht Replace-Methoden verwenden möchten Wie geht das?

Ich werde es in MVC-Anwendung verwenden. Was ist der beste Weg, um ein XML im Speicher zu erstellen? Und schauen Sie diesen Beitrag link text beim Gehen

+0

Sie möchten vielleicht eine Antwort akzeptieren? – jgauffin

Antwort

3

initialisieren Ihre XmlWriter mit einem XmlWriterSettings und setzen XmlWriterSettings.OmitXmlDeclaration zu true beantworten:

XmlWriterSettings settings = new XmlWriterSettings { OmitXmlDeclaration = true }; 
using (XmlWriter writer = XmlWriter.Create(textWriter, settings)) 
{ 
    // serialize XML here 
} 
2

Um auslassen XML-Deklaration und Standard-XML-Namespaces:

var settings = new XmlWriterSettings { OmitXmlDeclaration = true, Indent = true }; 

var namespaces = new XmlSerializerNamespaces(); 
namespaces.Add(string.Empty, string.Empty); 

using (var writer = XmlWriter.Create(file, settings)) 
{ 
    XmlSerializer serializer = new XmlSerializer(source.GetType()); 
    serializer.Serialize(writer, source, namespaces); 
}