Winform中对xml文件进行保存时空白节点自动换行问题的解决
程序员文章站
2023-10-16 21:28:47
场景 Winform中自定义xml配置文件后对节点进行读取与写入: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100532137 在上面实现对xml配置文件进行节点的读取和写入时,发现一个问题, 就是节点的内容为空相应的xml ......
场景
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; }