Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
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字符引用(也称为数字实体)来“转义”这些值;解析器将翻译这些引用并拒绝它们。
但是,在您麻烦执行此操作之前,您应该确认您确实必须这样做。