- 浏览: 235844 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
最近解析第三方的xml , 报错提示找不到DTD,那么如何忽略呢,网上有很多办法, 觉得最有效的办法如下:
——————————————————————————————————————————
1、去掉xml文件中的doctype或者将doctype中指定的互联网dtd文件改为引用本地dtd文件
2、对dom4j的SAXReader进行设置,不去下载外部dtd文件来对xml进行验证
相信大部分同仁都不大会同意第一种办法,呵呵,我也不太赞同。于是开始寻找第二种方案的解决办法:
reader.setValidation(false);
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
——————————————————————————————————————————
1、去掉xml文件中的doctype或者将doctype中指定的互联网dtd文件改为引用本地dtd文件
2、对dom4j的SAXReader进行设置,不去下载外部dtd文件来对xml进行验证
相信大部分同仁都不大会同意第一种办法,呵呵,我也不太赞同。于是开始寻找第二种方案的解决办法:
reader.setValidation(false);
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
发表评论
-
JAVA调用热敏打印机
2018-04-24 19:48 2591package test; import java. ... -
java中JSON转对象
2018-04-24 19:26 724依赖jar JSON格式 {order:{buyer:'大 ... -
Log4j输出多个文件
2017-12-22 13:54 620log4j.rootLogger=warn,stdout, ... -
Eclipse生成可运行jar策略
2017-12-06 21:03 636一个普通的java工程,用cxf连接webserivice。在 ... -
在线运行java测试
2017-12-01 11:42 1228http://www.runoob.com/try/runco ... -
TOMCAT不能正常启动总结
2017-11-29 14:11 1111记录下TOMCAT不能启动的几种原因 -
bat获得环境变量属性值的第一段
2017-10-27 17:38 1176分号将Path中的路径分隔开,取第一个路径用tokens=1, ... -
自定义result返回值(转载)
2017-10-27 10:43 688Struts2 自定义Result ... -
HttpClient使用
2017-10-26 17:14 569http://blog.csdn.net/z6918378 ... -
调用HTTP下载文件401错误
2017-08-03 09:19 1427public static boolean httpDow ... -
MAVEN通过URL下载jar
2017-12-06 22:47 1374MAVEN通过URL下载jar -
传统行业到互联网
2017-03-27 23:02 526http://card.weibo.com/article/h ... -
spring+mybatis+struts2集成
2017-03-23 11:34 469这篇写的不错:http://blog.csdn.net/afg ... -
Map与Json互相转换
2017-01-06 10:44 963/**************************** ... -
maven搭建SSM
2016-12-09 17:49 624可参考:http://wosyingjun.iteye.com ... -
maven发布tomcat
2016-12-08 10:21 448转载:http://www.cnblogs.com/g ... -
swing-FlowLayout垂直布局
2016-12-07 17:35 1633package layout; import jav ... -
dom4j及xpath基础应用
2016-12-01 14:17 573Jdom:对于小型xml处理就好 dom4j:对于大文件优与j ... -
Websocket
2016-11-02 10:28 509最简单的理解 ,websock ... -
JAVA 读取最后一行 删除最后一行 覆盖最后一行
2016-09-26 16:33 1868注:有的地方视情况而定,比如nextend = start+l ...
相关推荐
#### 四、Dom4j 的接口继承关系 为了更好地理解 Dom4j 的工作原理,我们需要了解它的接口继承关系。以下是部分关键接口的继承关系示意图: - `java.lang.Cloneable` → `org.dom4j.Node` - `org.dom4j.Attribute`...
#### dom4j解析XML时忽略DTD文件验证 在使用`SAXReader`或`DocumentHelper`解析XML时,默认情况下会验证DTD(Document Type Definition),这可能会导致解析速度变慢或者因为DTD文件不存在而抛出异常。为了提高效率...
Java提供了多种方式来解析XML文档,包括DOM解析和SAX解析,这两种方式各有优缺点,适用于不同的场景。本章将详细介绍这两种解析方法,并通过实例讲解如何使用Java来获取XML文档中的标签内容和属性。 1. **解析器的...
此外,DOM解析器支持DTD(Document Type Definition)和XML Schema进行验证,可以通过调用`setValidating()`和`setIgnoringElementContentWhitespace()`方法来开启或关闭验证和忽略元素内容中的空白。 2. SAX解析:...
此外,Xerces-J还提供了其他功能,例如DOM解析器,适用于需要在内存中构建整个XML文档结构的情况;JAXP接口则允许灵活地选择解析器实现,无论是DOM、SAX还是XPath。 "hibernate"标签可能意味着Xerces与Hibernate...
- **DOM解析**:Document Object Model,它将整个XML文档加载到内存中,形成一个树形结构,方便遍历和操作。优点是操作灵活,缺点是占用内存大,不适合大型文档。 - **SAX解析**:Simple API for XML,采用事件...
SAX,全称为Simple API for XML,是一种基于事件驱动的XML解析器,相较于DOM解析,它具有更快的速度和更低的内存占用。DOM解析会将整个XML文档加载到内存中形成一个节点树,适合处理小规模或内存有限的情况。而SAX则...
另一种是忽略DTD文件,只要基本格式正确,就可以进行解析。 就我所知,验证的解析器通常都是比较重量级的。TinyXml不支持验证,但是体积很小,用在解析格式较为简单的XML文件,比如配置文件时,特别的合适。
- **CDATA**:用于指定应被解析器忽略的文本区域,避免解析其中的特殊字符。 #### DOM 文档对象模型 DOM是一种用于表示和操作文档的标准接口。它提供了对文档中元素和属性的访问方法。DOM模型将XML文档视为一个...
SAX(Simple API for XML)是XML解析的一种方式,它以事件驱动的方式处理XML文档,相较于DOM(Document Object Model)解析器,SAX具有内存占用低、速度快的优点,特别适合处理大型XML文件。 SAX解析XML文件的核心...
例如,它是一个无验证的解析器,忽略与文档相关联的DTD(文档类型定义)。如果XML文档格式不正确,解析过程可能以错误消息终止。此外,Expat解析器只支持US-ASCII、ISO-8859-1和UTF-8编码格式的XML数据。如果XML数据...
4. **DTDHandler**: 处理DTD(Document Type Definition)事件,如`notationDecl`和`unparsedEntityDecl`,用于解析XML文档的DTD部分。 5. **ErrorHandler**: 处理解析过程中出现的错误和警告,例如`warning`、`...
- 缺点:不支持验证,忽略DTD(文档类型定义),仅支持US-ASCII, ISO-8859-1和UTF-8三种编码。另外,对于需要基于XML结构进行复杂操作的情况,使用起来可能较困难。 - 主要函数:`xml_parse_into_struct`用于将XML...
- **DOM解析**:nekohtml基于DOM模型解析HTML,将HTML文档转化为一棵树形结构,便于通过节点操作来处理文档。 - **DTD(Document Type Definition)**:nekohtml支持对HTML和XHTML DTD的理解,可以验证文档是否...
需要注意的是,虽然Java标准库提供了这些功能,但在某些情况下,如处理大型XML文件或需要更高级的功能(如XPath查询),可能需要引入如Apache DOM4J或JDOM等第三方库,它们提供了更高效、更易用的API。 在提供的`...
- 然后,设置解析器的属性,例如是否忽略XML声明,是否验证文档等。 - 接着,通过解析器的`parse()`方法,指定要解析的XML文件。 - 在解析过程中,解析器会调用预先定义好的事件处理器接口,如`ContentHandler`和...
1. **DOM解析**:将整个XML文档加载到内存,形成一个树形结构,便于遍历和操作。 2. **SAX解析**:事件驱动,逐行读取XML文档,对每个元素、属性等触发相应事件,节省内存。 3. **StAX解析**(流式API):允许程序按...
PHP中的XML Expat解析器就是一种基于事件的解析器,它不需要进行有效性验证(即忽略DTD声明),因此执行速度快且体积轻巧,非常适合用于PHP开发的Web应用。Expat解析器能够快速解析良好的XML文档,并且遇到不良的XML...
- DOM(Document Object Model)操作:使用DOM4J库解析XML,通过`Document`、`Node`、`Element`、`Attribute`和`Text`对象处理XML结构。 - CRUD操作:创建、读取、更新和删除XML数据。 **中高级Java工程师面试知识...