2

XDocument (XMLDocument ではありません) を使用した XML ファイルのファイル保存に関するヘルプを求めています。

したがって、インデントのないxmlファイルがあります(実際には1行です)。これを XDocument.Parse を使用して XDocument に読み込むと (を使用して文字列を読み込んで保存した後StreamReader)、結果の XDocument はインデントされます。

わかりました、インデントなしでファイルに保存できれば問題ないと思いました。しかし、持っていても

XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.NewLineOnAttributes = false;
writerSettings.NewLineHandling = NewLineHandling.None;
writerSettings.Indent = false;

XmlWriterを作成するときにそれを渡します

using (var writer = XmlWriter.Create(u.ToFileSystemPath(), settings))
{
    xd.Save(writer);
}

結果の XML ファイルにはまだインデントがあります。writerVisual Studio でデバッグしているときに、が classであることに気付きましたXmlWellFormedWriter。これは私の結果と何か関係がありますか? どんな助けでも大歓迎です。

ありがとうございました。

4

1 に答える 1

3

SaveOptions はSave()と同様に利用できますToString()

    string xmlstring = 
@"<Top>
    <First>1</First>
    <Second>Dude</Second>
    <Third>Now</Third>
</Top>";

    XDocument doc = XDocument.Parse(xmlstring);
    doc.Save(@"C:\temp\noIndet.xml", SaveOptions.DisableFormatting);
        // string noIndent = doc.ToString(SaveOptions.DisableFormatting);

出力:

ここに画像の説明を入力

于 2013-08-12T21:47:00.647 に答える