【发布时间】:2011-02-11 22:25:09
【问题描述】:
在我的 XML 文件中,我有一些实体,例如 ’
所以我为我的 XML 文档创建了一个 DTD 标记来定义这些实体。下面是用于读取 XML 文件的 Java 代码。
SAXBuilder builder = new SAXBuilder();
URL url = new URL("http://127.0.0.1:8080/sample/subject.xml");
InputStream stream = url.openStream();
org.jdom.Document document = builder.build(stream);
Element root = document.getRootElement();
Element name = root.getChild("name");
result = name.getText();
System.err.println(result);
如何更改 Java 代码以通过 HTTP 检索 DTD 以使我的 XML 文档的解析没有错误?
xml 文档的简化示例。
<main>
<name>hello ‘ world ’ foo & bar </name>
</main>
【问题讨论】:
-
实体必须先声明后才能使用。如果您正在使用尚未声明的实体引用(在文件中或通过对外部 DTD 的引用),则您的 XML 文件无效。
-
确实如此。我的问题是在运行时将我的 DTD 的路径注入到 xml 中,因为 dtd 在 xml 文档中没有被引用。 DTD 驻留在可通过 http 访问的远程服务器上。
标签: java xml dtd jdom dtd-parsing