将字符串写入 XML 文件而不进行格式化 (C#)
我编写了一个函数,根据应用程序中保存的数据构建 XML 字符串。 接下来,应将该字符串写入实际的 XML 文件,以便可以使用它。 然后,该文件将在 HTML Web 应用程序中用于提供数据。 我正在使用以下代码片段来做到这一点:
xmlDoc.Save("exercise.xml");
很简单,但有一个小问题。 我的 XML 文件在 Firefox 中无法正常工作,因为它将空格视为子节点。 重写我的整个 Web 应用程序几乎是不可能的,因为它的工作量太大。 我宁愿能够以非格式化方式将 XML 字符串保存到 XML 文件,因为我已经测试并确认这几乎适用于所有可以想象的浏览器。 字符串本身不包含任何回车符或制表符,因此 Save() 方法可能会自动添加它。有什么方法可以防止它这样做,或者有其他简单的方法来规避这种情况?
I wrote a function that builds an XML string based on the data saved in my application.
Next up, this string should be written to an actual XML file, so it can be used.
This file is then to be used in an HTML web application to feed data.
I'm using the following snippet of code to do just that:
xmlDoc.Save("exercise.xml");
Easy enough, but there's a small catch.
My XML file won't work properly in Firefox, because it considers white space as a childNode.
Rewriting my entire web application is pretty much a no go, as it'd be too much work.
I'd rather just be able to save my XML string to an XML file in a non-formatted way, since I've tested and confirmed that this works in just about every conceivable browser.
The string itself doesn't contain any carriage returns or tabs, so the Save()-method probably adds it automatically. Any way to prevent it from doing that, or another easy way to circumvent this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
看一下这个 XmlDocument.Save 重载。
下面是一个完整的代码示例,它保存了没有空格缩进的 XML:
Take a look at this XmlDocument.Save overload.
Here's a complete code example that saves XML without whitespace indentation:
尝试
Try
您有一个包含工作 xml 的字符串,为什么不能使用 TextWriter/StreamWriter 直接将其推送到文件中?
You have a string containing working xml, why cant you just push it out to file directly using TextWriter/StreamWriter?
我承认我还没有对此进行测试,但希望这能为您提供最终解决方案的提示
I admit I haven't tested this, but hopefully this gives you a hint towards the final solution
您是否尝试过将构建的字符串写入文件?像这样的东西:
Have you tried just writing your string that you've built to a file? Something like this: