当前位置: 移动技术网 > IT编程>开发语言>.net > Winform中对xml文件进行保存时空白节点自动换行问题的解决

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

2019年09月25日  | 移动技术网IT编程  | 我要评论

场景

winform中自定义xml配置文件后对节点进行读取与写入:

https://blog.csdn.net/badao_liumang_qizhi/article/details/100532137

在上面实现对xml配置文件进行节点的读取和写入时,发现一个问题,

就是节点的内容为空相应的xml文件中的节点会自动换行,那么下次再进行读取时使用

innertext就会读取到\r\n等符号。

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

保存时使用的方法是:

 public static boolean  writexml(xmldocument xml , string filepath)
        {
            try
            {
                xml.save(filepath);
                return true;
            }
            catch (exception ex)
            {
                console.writeline(ex.message);
                return false;
            }
        }

 

如果是对配置文件的显示样式没有要求,可以通过

using (xmltextwriter xtw = new xmltextwriter(file, null))  
{  
    xtw.formatting = formatting.none;  
    xmldoc.save(xtw);  
}

 

实现,但是这样会导致xml的所有节点顺序排列,不会显示成节点结构

如果既要保持又有xml文件的结构,又要空节点不产生换行,可以在对空节点赋值时,赋予

一个空格。

if (yaxismodellist[no - 1].title.tostring().equals("") || yaxismodellist[no - 1].title == null)
                {
                    xmlnode.selectsinglenode("title").innertext = " ";
                    xmlnode.selectsinglenode("titlekey").innertext = " ";
                }
                else
                {
                    xmlnode.selectsinglenode("title").innertext = yaxismodellist[no - 1].title;
                    xmlnode.selectsinglenode("titlekey").innertext = yaxismodellist[no - 1].titlekey;
                }

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网