小密圈至今没有恢复,先把这篇文章分享到博客吧。
故事的背景是这样的:有个应用要跟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); }