【问题标题】:Java: Error while parsing XML document as textJava:将 XML 文档解析为文本时出错
【发布时间】:2015-05-23 16:38:14
【问题描述】:

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

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

但我收到此错误

[致命错误] 实体“Ouml”已被引用,但未声明。

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

【问题讨论】:

  • 它告诉你xml有问题,在一个名为“Ouml”的元素处。根据您的问题,您应该将该文件视为常规文件(java.util.Scanner?)而不是使用 xml 解析器?
  • 如果不查看 xml 文件,真的不能添加更多内容。

标签: java xml-parsing


【解决方案1】:

HTML 4.0 知道 252 个预定义的字符实体,例如 Öß 等。

另一方面,XML 只有 5 个:

"
&
'
<
>

您不能使用 html 中的命名字符实体,除非先定义它们。

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

【讨论】:

    猜你喜欢
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多