使用文件流时,xml中的白线空格

本文关键字:白线 空格 xml 文件 | 更新日期: 2023-09-27 18:28:10


我有一个XML,它看起来像下面的

<root>
    <node>
        <a1>text</a1>
        <a2>text</a2>
        <a3></a3>
    </node>
</root>

如果我将其加载到xmldocument中并保存

<root>
    <node>
        <a1>text</a1>
        <a2>text</a2>
        <a3>
        </a3>
    </node>
</root>

我的代码片段:

 public static Void Update(String Path)
        {
            FileStream docIn = new FileStream(Path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            XmlDocument xml = new XmlDocument();
            xml.Load(Path);
            XmlNodeList nodeY = xml.SelectNodes("/root/node/a1");
            _count = 0;
            foreach (XmlNode live in nodeY)
            {
              //changing nodeY InnerText
            }
            xml.Save(Path);
        }

我不希望使用preserveb空白=true选项,因为它使我的xml看起来像这个

<root><node><a1>text</a1><a2>text</a2><a3></a3></node></root>

提前感谢!!!

使用文件流时,xml中的白线空格

尝试使用实例XmlWriterSettings类显式指定XmlWriter设置。

XmlWriterSettings settings = new XmlWriterSettings
    {
        Encoding = Encoding.UTF8,
        Indent = true,
        NewLineChars = Environment.NewLine,
        NewLineHandling = NewLineHandling.Replace,
        OmitXmlDeclaration = false
    };
using (XmlWriter writer = XmlWriter.Create(outXmlPath, settings))
{
    xml.Save(writer);
}

希望这能有所帮助。