ibcadmin 发表于 2019-9-26 09:19:02

Winform中对xml文件进行保存时空白节点自动换行问题的解决

<h1>场景</h1>
<p>Winform中自界说xml设置文件后对节点进行读取与写入:</p>
<p>https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100532137</p>
<p>在上面实现对xml设置文件进行节点的读取和写入时,发现一个标题,</p>
<p>就是节点的内容为空相应的xml文件中的节点会主动换行,那么下次再进行读取时使用</p>
<p>InnerText就会读取到\r\n等符号。</p>
<p>注:</p>
<p>博客主页:<br />https://blog.csdn.net/badao_liumang_qizhi<br />关注公众号<br />霸道的程序猿<br />获取编程干系电子书、教程推送与免费下载。</p>
<h1>实现</h1>
<p>保存时使用的方法是:</p>

public static BooleanWriteXml(XmlDocument xml , string filePath)
      {
            try
            {
                xml.Save(filePath);
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
      }

<p> </p>
<p>如果是对设置文件的表现样式没有要求,可以通过</p>

using (XmlTextWriter xtw = new XmlTextWriter(file, null))
{
    xtw.Formatting = Formatting.None;
    XmlDoc.Save(xtw);
}

<p> </p>
<p>实现,但是如许会导致xml的全部节点顺序排列,不会表现成节点结构</p>
<p>如果既要保持又有xml文件的结构,又要空节点不产生换行,可以在对空节点赋值时,赋予</p>
<p>一个空格。</p>

if (yAxisModelList.Title.ToString().Equals("") || yAxisModelList.Title == null)
                {
                  xmlNode.SelectSingleNode("title").InnerText = " ";
                  xmlNode.SelectSingleNode("titleKey").InnerText = " ";
                }
                else
                {
                  xmlNode.SelectSingleNode("title").InnerText = yAxisModelList.Title;
                  xmlNode.SelectSingleNode("titleKey").InnerText = yAxisModelList.TitleKey;
                }

<p> </p><br><br/><br/><br/><br/><br/>来源:<a href="https://www.cnblogs.com/badaoliumangqizhi/archive/2019/09/25/11583992.html" target="_blank">https://www.cnblogs.com/badaoliumangqizhi/archive/2019/09/25/11583992.html</a>
页: [1]
查看完整版本: Winform中对xml文件进行保存时空白节点自动换行问题的解决