在使用dom4j 对 xml文件解析时经常会碰到dtd验证的问题。
像下面的声明:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
...
在读取的时候会遇到如下错误信息:
org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: connect
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
解决方法:
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
更多代码如下:
try {
File file = new File("F:/zhucaiguai/hibernate.cfg.xml");
SAXReader reader = new SAXReader();
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
Document doc = reader.read(file);
Element root = doc.getRootElement();
System.out.println(root.asXML());
// OutputFormat format = new OutputFormat();
// XMLWriter output = new XMLWriter(new FileWriter(file), format);// 更新XML文件
// output.write(doc);
// output.close();
} catch (Exception e) {
e.printStackTrace();
}
分享到:
相关推荐
NULL 博文链接:https://17173.iteye.com/blog/617640
dom4j帮助文档 官方API ...org.dom4j.dtd org.dom4j.io org.dom4j.jaxb org.dom4j.rule org.dom4j.rule.pattern org.dom4j.swing org.dom4j.tree org.dom4j.util org.dom4j.xpath org.dom4j.xpp
org.dom4j.dtd Classes to represent the DTD declarations. org.dom4j.io Provides input and output via SAX and DOM together with writing dom4j objects to streams as XML text. org.dom4j.jaxb org.dom4j....
在XML文件含有外部DTD验证的时候,使用XmlDocument/XmlDataDocument类的Load方法会抛出如下的例外: System.Xml.XmlException: 未找到所需的 DTD 标记。 行 m,位置 n。 我们可以采用下面的方法不去加载外部资源: ...
最近用到xml 免不了学一点dtd的定义 而且也免不了解析xml了 我觉得dom4j挺好 就写了这么一个小类 有很多不精简 望大虾们指点。
使用DTD验证XML文档 一、 DTD的定义: a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义...
使用dom4j解析含有这样dtd的xml文件时,它会从网络找到这个文件对xml文件进行校验。但是如果电脑断开网络的话就会出现错误说找不到dtd文件并解析失败。所以请使用以下方法...
log4j.dtd,用于控制日志信息输送的目的地,可设置为控制台、文件、GUI组件,亲测可用
log4j.dtd,可以控制日志信息输送的目的地是控制台、文件、GUI组件,希望对大家有帮助
很好的一个关于DTD验证XML的一些文档,内容丰富。需要了解的速速下载
(帮助文档大全)javaAPI帮助文档、dom4j帮助文档、Schema帮助文档、XPath文档、DTD帮助文档,java开发所需要的文档应有尽有。绝对超值。
XML例子 DTD例子 XSL例子 XLD例子 DOM解析
DTD 教程 ================== DTD 首页 DTD 简介 DTD 构建模块 DTD 元素 DTD 属性 DTD 实体 DTD 验证 DTD 实例 DTD 总结
NULL 博文链接:https://wenhai.iteye.com/blog/563394
一些xml开发示例一些xml开发示例,包括DTD,CSs,xslt,dom sax 等。都可以运行
解析XML文件(字符串)的两种方法,dom4j解析XML时候忽略DTD文件验证
(1)通过实验,进一步理解掌握DTD的语法规则,能够编写正确的DTD文档。 (2)通过实验,进一步理解应用DTD对XML文档进行验证的原理...(4)通过实验,学会利用标准DOM接口,编写Java程序实现基于DTD对XML文档的有效性验证。
这是XML的学习资料,是PPT讲解比较全面,适合大家学习 xml基础 DTD Schema SAX DOM XSL XPATH
1.改正以下message.xml文档的语法错误,并将内部DTD改为外部DTD,并要求验证文档有效性。 <!DOCTYPE myMessage [ <!ELEMENT myMessage (message)> <!ELEMENT message (#PCDATA)> ]> !- -这是一个注释>> <message>...
自定义MyEclipse的DTD文档校验