如何解决读取带有 DOCTYPE SYSTEM“.dtd”错误的 xml 文件
我正在尝试读取带有此标头的 XML 文件:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="MeasDataCollection.xsl"?>
<!DOCTYPE mdc SYSTEM "MeasDataCollection.dtd">
我在一个方法中为此文件创建了一个路径名:
String filePathName = appProperties.getProperty("xmlFilesLocation") + "/" +
appProperties.getProperty("adaptorLA") + "/" + tempName; //tempName is the file's name,it is file.xml here
我正在尝试使用另一种方法重新打开并解析包含此类代码的文件:
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = documentBuilder.parse(file);
这是我的程序崩溃的地方,我收到一个错误,指出文件“MeasDataCollection.dtd”不存在。我没有明确地将此文件名分配给我试图解析的路径,但它似乎以某种方式与我的文件名混淆。
我正在努力理解“doctype ... system ...”的含义以及它如何影响我的代码。
感谢所有帮助。
解决方法
检查此问题的答案以禁用 DTD 读取:DTD download error while parsing XHTML document in XOM
DTD 用于定义 XML 结构,也可以定义 XML 实体。如果是这样的话,如果你不读DTD可能会导致XML解析失败,你必须尝试一下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。