将字符串写入XML文件而不进行格式化(C#)
我编写了一个函数,它根据我的应用程序中保存的数据构建XML字符串。 接下来,应将此字符串写入实际的XML文件,以便可以使用它。 然后,此文件将在HTML Web应用程序中用于提供数据。 我正在使用以下代码片段来做到这一点:
xmlDoc.Save("exercise.xml");
很容易,但有一个小的捕获。 我的XML文件在Firefox中无法正常工作,因为它将空格视为childNode。 重写我的整个Web应用程序几乎是不行的,因为它的工作量太大了。 我宁愿能够以非格式化的方式将我的XML字符串保存到XML文件,因为我已经测试并确认它几乎适用于所有可想到的浏览器。 字符串本身不包含任何回车符或制表符,因此Save() – 方法可能会自动添加它。 有什么方法可以阻止它这样做,或者另一种简单的方法来规避这个?
尝试
xDoc.PreserveWhitespace = true; xDoc.Save(...);
看看这个XmlDocument.Save重载。 这是一个完整的代码示例,可以在没有空格缩进的情况下保存XML:
using (XmlWriter xw = XmlWriter.Create("exercise.xml", new XmlWriterSettings { Indent = false })) doc.Save(xw);
你有一个包含工作xml的字符串,为什么你不能直接使用TextWriter / StreamWriter将其推送到文件?
我承认我没有对此进行过测试,但希望这能为您提供最终解决方案的暗示
var xws = new XmlWriterSettings { Indent = false, NewLineOnAttributes = false }; using (var xtw = XmlTextWriter.Create("exercise.xml", xws)) { xmlDoc.Save(xtw); }
您是否尝试过将自己构建的字符串写入文件? 像这样的东西:
var myXML= "something something something dark side "; var file = new System.IO.StreamWriter("c:\\file.xml"); file.WriteLine(myXML); file.Close();
- 填充ASP.NET页面上的表
- 无法使用Headers =“application / x-www-form-urlencoded”编码我的JSON对象insdie我的WebClient UploadString
- SqlConnection.Open vs SqlConnection.OpenAsync – 这两者之间的区别是什么?
- 剪贴板复制对象和从中复制对象
- Thread.CurrentPrincipal.Identity vs HttpContext.User.Identity
- 全局覆盖ASP.Net MVC默认属性错误消息
- C#。 使用reflection设置成员对象值
- 循环依赖
- 在Web Api 2中启用会话