java - Xml 1.1 与 1.0 库的使用

标签 java xml

XML 1.1 与 1.0

鉴于 1.0 中的某些字符在 1.1 中不再被接受,这是在 xml 元素上设置 Text 的正确方法吗?

如果元素 e = new Element("foo")

我应该这样做吗:

e.setText(sanitized_text_illegal_characters_removed_or_escaped) ?

e.setText(any_text)

最佳答案

您已经搞反了:XML 1.1 放宽了字符限制。而XML 1.0不允许使用大多数 ASCII 控制字符 XML 1.1允许除 NUL 之外的所有控制字符(均禁止代理)。

如果您必须处理包含禁止字符的字符串,您有两种选择:使用依赖于应用程序的方案对它们进行转义,或者删除它们。请注意,您不能使用 XML character reference (又名数字实体)“转义”值;解析器将翻译这些引用并拒绝它们。

但是,在您不厌其烦地执行此操作之前,您应该验证是否确实需要这样做。

关于java - Xml 1.1 与 1.0 库的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323608/

相关文章:

java - Glassfish Server 3.1.2 未从 Netbeans 7.3 启动

java - FileChooser.showOpenDialog 在框架顶部显示默认的 Java 图标

java - 如何仅更改一个字段来创建多个 xml 请求?

java - 谷歌的Android滑动标签布局

java - 资源 ID 的整数数组返回 0

java - 查找子集大小大于或等于 2 的数组的所有子集

java - 如何在 .yml 文件中使用属性占位符

xml - 如何对 html 和 xml 进行拼写检查?

java - Android-几天后运行后出现代码错误

java - java中3个线程访问一个变量