【发布时间】:2012-05-25 14:39:19
【问题描述】:
我有一个程序可以生成一些数据并将其保存为 xml,不幸的是,出于我的目的,我无法将其保存在允许像 0x1f 这样的字符的较新 XML 中。因此,我需要从我的 xml 中删除这个字符。我所能找到的似乎就是这个http://benjchristensen.com/2008/02/07/how-to-strip-invalid-xml-characters/,但我不知道java-script,并且希望能够使用我能够理解的脚本。我知道基本的 C#,但不是很好。无论如何,过滤这个角色最简单的方法是什么?无论如何,我确实认为这对在线社区来说是一个很好的问题,因为从 Google 中寻找 C# 中的工作方法被证明是具有挑战性的。
【问题讨论】:
-
我从未听说过一种允许 XML 不允许的字符的 XML。能给个链接吗?
-
除非我读错了(对不起,我的英语不太好)这个:stackoverflow.com/questions/6693153/what-is-character-0x1f 在第二个答案上似乎说有一个 xml 1.1 允许它“它在 XML 1.0 中确实不是有效的文本字符(但在 XML 1.1 中允许)。在 UTF-8 输入字符串中,您还可以安全地将字节 0x1f 替换为 0x09(Tab) 以解决该问题。或者,声明文档作为 XML 1.1 并使用 XML 1.1 解析器。” @约翰桑德斯
-
你现在如何保存xml?
-
XML 1.1 规范可能允许这样做,但您假设存在 XML 1.1 解析器。如果您无法访问这样的解析器,那么规范允许的内容并不重要。它似乎没有被广泛实施。