2010-12-06 104 views
16

XmlSerializerを使用しているときに、各要素に改行を追加する方法を知りたいですか?XmlSerializerを使用するときに改行を追加する方法

サンプルコード:

XmlSerializer serializer = new XmlSerializer(typeof(xxx)); 
using (XmlWriter xmlWriter = XmlWriter.Create("test.xml") 
{ 
    serializer.Serialize(xmlWriter, xxx); 
} 
+0

なぜですか?コンピュータは改行を気にしません。 – leppie

+5

@leppie:しかし、人間の可能性があります。これがXMLを使用する唯一の理由です。そうでなければ、バイナリデータを使用できます。 –

答えて

26

trueIndentセットとXmlWriterSettingsオブジェクトに渡します。

var xmlWriterSettings = new XmlWriterSettings() { Indent = true }; 
XmlSerializer serializer = new XmlSerializer(typeof(xxx)); 
using (XmlWriter xmlWriter = XmlWriter.Create("test.xml", xmlWriterSettings) 
{ 
    serializer.Serialize(xmlWriter, xxx); 
} 
+1

また、XmlTextWriterを使用している場合は、構築後に "obj.Formatting = Formatting.Indented" – dlchambers

関連する問題