小密圈至今没有恢复,先把这篇文章分享到博客吧。
故事的背景是这样的:有个应用要跟ERP LN系统对接,使用了ION,需要在外部程序生成XML进行通讯,我用C# .NET写得,但是一开始一直报错。本以为是ION的设置问题,后来查下来是XML文件中的空节点的标签自动换行,包含了不可见的\n换行字符。
没办法,改程序,将原来的Save写法改为xmlWriter,并设置相关的参数如下,问题解决!
//doc.Save(filePath);//空白标签会产生多余换行符
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.ConformanceLevel = ConformanceLevel.Auto;
settings.IndentChars = "\t";
settings.OmitXmlDeclaration = false;
using (XmlWriter xmlWriter = XmlWriter.Create(filePath, settings))
{
doc.Save(xmlWriter);
}