Dom4j读取XML文件时遇到的一个问题(关于DTD)
来源:互联网 发布:软件开发方案书 编辑:程序博客网 时间:2024/05/22 00:24
最近做一个小项目,要用到Dom4j对XML文件进行读取,获得数据库配置信息,XML文件如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"><DBConfig brief="数据库连接的相关配置" name="DB-CONFIG"><DB_CLASS_NAME>com.microsoft.sqlserver.jdbc.SQLServerDriver</DB_CLASS_NAME><DB_URL>JDBC:microsoft:sqlserver://localhost:1433;DatabaseName=CityCRM</DB_URL><DB_USER>sa</DB_USER><DB_PWD>123456</DB_PWD></DBConfig>
利用Dom4j读取XML代码如下:
Document doc=saxReader.read(new File(path));//path为XML文件路径Element root=doc.getRootElement();dbUrl=root.element("DB_URL").getText();dbUser=root.element("DB_USER").getText();dbPwd=root.element("DB_PWD").getText();
但是读取时,速度很慢,有时甚至读取超时,我不明白了,为什么这么几行XML读取这么慢?后来上网找资料,发现这方面资料也很少,不过还是让我找到了,原来慢的原因是因为这个
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd">对于DTD,是对XML的格式约束,不明白的大家可以百度一下,这是引用的一个公共的外部文件,非本地文件 ,所以要连接网络读取,所以之所以超时,也就明了了,那要怎样解决?最简单的办法就是注释掉这个,但会有恼人的警告,估计很多码农会受不了吧,于是我继续百度,发现了一个解决办法,只要在代码
SAXReader saxReader=new SAXReader();//这句之后加上下面这么两行,就可以了
saxReader.setValidation(false)//经测试,这一行不是必须的
saxReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);//这一行是必须要有的
至此,问题解决~~~希望能够帮到一些需要的朋友。。。
1 0
- Dom4j读取XML文件时遇到的一个问题(关于DTD)
- 使用dom4j解析xml文件时遇到一个怪问题
- 使用dom4j 读取xml文件时的中文问题(转)
- 使用dom4j 读取xml文件时的中文问题
- jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- jdom或dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- dom4j解析xml时遇到的问题
- 关于dom4j读取xml文件的null Nested exception备忘
- spring加载xml文件 读取bean时遇到的一个问题
- 关于文件读取遇到的问题
- xml文件读取-dom4j
- dom4j读取xml文件
- dom4j读取xml文件
- dom4j读取xml文件
- Dom4j读取XML文件
- Dom4j读取xml文件
- 关于驱动中的并发
- iframe的contentWindow属性使用
- 日经春秋 20150604
- PHP根据两点间的经纬度计算距离
- 分享一个开源的流程图绘制软件--Diagram Designer
- Dom4j读取XML文件时遇到的一个问题(关于DTD)
- 赛马问题
- php中的传值赋值,引用赋值
- spring源码程序
- php中把“2011-03-17 23:59:00”格式的字符串转化为UNIX 时间戳
- web app 开发
- 日经社説 20150605 怠れぬMERSへの警戒
- java设计模式
- JAVA之StringBuffer与StringBuilder