java - 如何在 Java 中转义 XML 中的非标准字符?

标签 java xml xml-parsing

我意识到之前有人问过类似的问题,解决方案是使用 StringEscapeUtils.unescape() .但是,根据方法描述:

Supports only the five basic XML entities (gt, lt, quot, amp, apos). Does not support DTDs or external entities.

我有一堆带有转义字符的 XML 文件,例如 &hyph;。我怎样才能避免这些?它们在提供的 DTD 中定义。是否有类似 StringEscapeUtils 的方法,但有 DTD 支持?

最佳答案

嗯,已经很久了,但我认为 EntityResolver2 (Java SDK) 的实现处理外部定义的实体。这是 SAX2 规范的一部分。

关于java - 如何在 Java 中转义 XML 中的非标准字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012746/

相关文章:

java - Elasticsearch Java High Level Rest Client 使用多个匹配值和 OR 条件构建 boolean 查询

java - 如何查看使用 TOAD 在 Oracle DB 中编译的 Java 中的 System.out.println?

java - 如何从 Java 中的多个 final 字符串中随机选择一个字符串?

java - org.xml.sax.SAXParseException : Content is not allowed in prolog

c++ - 将 get_value 与 Boost 的属性树一起使用时出现问题

java - Android:DOM vs SAX vs XMLPullParser 解析?

java - Jersey 在使用 ContainerRequestContext.abortWith() 后为每次调用抛出 NPE

java - 使用ant build.xml编译时如何在没有JDK库的情况下使用外部库

Java:如何将从数据库返回的字符串转换为 XML

java - XML解析返回null