【发布时间】:2011-02-23 05:39:01
【问题描述】:
XML 规范定义了 XML 文档中允许的 Unicode 字符子集: http://www.w3.org/TR/REC-xml/#charsets.
如何从 Java 中的字符串中过滤掉这些字符?
简单的测试用例:
Assert.equals("", filterIllegalXML(""+Character.valueOf((char) 2)))
【问题讨论】:
-
为什么你会得到这些“非法”的 XML 字符?一旦检测到它们,您想对它们做什么?删除?替换?
-
@RH:忽略它们就足够了。最好的解决方案是删除它们并获得某种报告。这样我可以记录警告。
-
如果有人想知道我利用了来自 Xerces 的
XMLChar,正如 ZZ Coder 所建议的那样。你可以在这里找到整个方法:pastebin.com/6Vbm1zuC