带有&auml的XML文件;

use*_*177 7 java xml

我有一个大致如下所示的XML文件:

<customer>
    <name>M&uuml;ller</name>
</customer>
Run Code Online (Sandbox Code Playgroud)

我使用以下代码解析文件:

File xmlFile = new File("file.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile)
Run Code Online (Sandbox Code Playgroud)

并获得实体&uuml;被引用但未声明的错误.我想要的是正在读取条目但不以任何方式解析,我想获得文件中写入的值.

我怎么做?

Hum*_* BV 5

我尝试设置:

dbFactory.setExpandEntityReferences(false);
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

如果您无法修改 xml 内容(使用 UTF-8,xml 可以包含 u 元音变音),您可以添加 DTD:

<!DOCTYPE definition [
<!ENTITY uuml "&#xfc;">
]>
Run Code Online (Sandbox Code Playgroud)

如果您无法修改 xml 文件,请加载 xml 内容并添加 DTD:

String dtd = "<!DOCTYPE definition [\n<!ENTITY uuml '&#xfc;'>\n]>\n",
            contents = <load xmlFile>;
Reader reader = new StringReader(dtd + contents);
InputSource src = new InputSource(reader);
Document doc = dBuilder.parse(src);
Run Code Online (Sandbox Code Playgroud)