繁体   English   中英

XDocument在解析时自动缩进文件,并且在保存时不删除缩进

[英]XDocument automatically indents files on parse and does not remove indent on save

我正在寻求有关使用XDocument(NOT 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文件仍然具有缩进。 在Visual Studio上调试时,我注意到writerXmlWellFormedWriter类。 这与我的结果有关吗? 任何帮助,将不胜感激。

谢谢。

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);

输出:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM