Java:将 XML 文档解析为文本时出错

标签 java xml-parsing

我正在尝试使用以下内容将 XML 文档解析为字符串

Document parse = DocumentBuilderFactory.newInstance().newDocumentBuilder()
                .parse(new InputSource(new StringReader(xmlFile)));

但我收到此错误

[ fatal error ]实体“Ouml”被引用,但未声明。

我尝试使用 Apache StringEscapeUtils 转义和取消转义 xmlFile 字符串,但仍然有错误

最佳答案

HTML 4.0 识别 252 个预定义字符实体,例如 Öß 等。

另一方面,XML 只有 5 个:

"
&
'
<
>

除了未先定义的字符实体之外,您不能使用 html 中的命名字符实体。

因此,在使用 StringEscapeUtils 时,请确保使用 escapeXml() 而不是 escapeHtml4()

关于Java:将 XML 文档解析为文本时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29163664/

相关文章:

java - 设置在另一个类中分配的私有(private)变量的问题

java - "main"org.apache.spark.SparkException : Task not serializable

perl - 错误消息:无法对未定义的值调用方法“做”

android - 在 Android studio 中解析 indoorGML 没有向我显示特定的标记点

java - 是否可以使用不同版本的 java 运行 jar 文件?

java - p :selectOneMenu value set to null, 当位于刷新选项卡 View 中的 p:inplace 时

java - 二维空间中的点线碰撞

输出行的 xmllint 问题

ruby - 使用 Nokogiri 解析 XML 文件以确定路径 (Ruby)

c# - 如何在 C# 中仅从 XML 文件中选择一些子节点?