0 0

Stax解析中对DTD的处理5

xml文件的开始部分如下:

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE NMSI_PM SYSTEM "NPI_PM.DTD">

我在用stax解析该文件时,会报错找不到NPI_PM.DTD文件。

 

想请假一下,如何让stax解析不会对doctype部分进行处理呢?

 

因为对于我要处理的xml文件来说,doctype部分是多余的(但是存在的)。

2012年9月04日 09:06

1个答案 按时间排序 按投票排序

0 0

采纳的答案

       documentBuilder.setEntityResolver(new EntityResolver()
        {
            public InputSource resolveEntity(String publicId, String systemId)
                throws SAXException, IOException
            {
                return new InputSource(new StringReader(""));
            }
        });

  
返回一个空的 以忽略

2012年9月04日 09:13

相关推荐

    DTD(文档类型定义)

    在编程和工具应用中,处理DTD的方式多种多样,包括使用XML解析器(如Java的DOM、SAX或StAX解析器)来验证XML文档,或者利用XML编辑器(如Notepad++或XML Spy)直接编辑和检查DTD。同时,开发过程中,了解和使用DTD有...

    dtd.rar_dtd_java dtd_xml dtd

    如果XML文档遵循了DTD中定义的规则,那么它就是合法的;否则,会报告错误。 5. **Java中的DTD验证**:在Java中,可以使用`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`类来验证XML文档。首先,...

    java大作业xml解析

    3. StAX解析:StAX也是流式解析,它允许开发者通过迭代器按需读取XML元素,既节省内存,又能进行向前或向后的有限导航。这种方式适合需要高效处理XML流的应用。 在实现Java XML解析时,通常会用到如Java的JAXB...

    优秀xml课程设计 完整代码 加完整dtd

    在提供的压缩包中,“xml课程设计”可能包含了使用Java处理XML的示例代码,涵盖了XML的创建、解析、修改等操作。这部分内容可能涉及了DOM、SAX或StAX的API用法,比如`DocumentBuilderFactory`、`DocumentBuilder`、`...

    Xml解析.docx

    在Java中,StAX解析可以通过`javax.xml.stream.XMLInputFactory`和`javax.xml.stream.XMLStreamReader`类实现。创建`XMLStreamReader`,然后通过迭代遍历XML文档。 生成XML: Java中,生成XML文件通常涉及到DOM树的...

    JAVA XML 解析

    Java的`javax.xml.stream.XMLInputFactory`和`javax.xml.stream.XMLEventReader`用于创建StAX解析器。StAX既避免了DOM的内存消耗,又简化了SAX的事件处理。 4. JAXB解析: JAXB(Java Architecture for XML Binding...

    XML跨平台解析类接口

    3. **StAX解析**:StAX提供了一个流式API,允许开发者以迭代方式逐个读取XML事件,既节省内存又具有较高的控制度。与SAX相比,StAX允许程序员以更面向对象的方式处理XML。 这个“XMLParaseDemo”可能是示例代码或者...

    DOM和SAX解析XML文档

    XML(eXtensible Markup Language)是一种用于存储和传输数据的...此外,还可以考虑使用StAX(Streaming API for XML),这是一种介于DOM和SAX之间的解析方式,结合了两者的优势,既节省内存又允许有限的向前查找能力。

    sax解析xml尤其是获取元素的值或者内容

    - SAX解析器不处理XML的DTD(文档类型定义),如果需要验证XML文档,应考虑使用DOM或StAX解析器。 - SAX解析器不保留XML的结构,只提供事件通知,因此不适合需要回溯或查找元素关系的场景。 - 由于SAX是事件驱动...

    XML文件解析实例

    - StAX解析:创建`XMLStreamReader`或`XMLStreamWriter`,通过迭代读取或写入XML。 3. **数据处理**:根据解析器类型,处理XML数据。在DOM中,可以使用XPath(XML Path Language)查询XML结构;SAX和StAX通常用于...

    解析xml

    4. **StAX解析** StAX允许程序员通过迭代器按需读取XML事件,提供更细粒度的控制。在处理大量数据时,可以有效地节省内存。结合`SecurityFilter.class`,它可能在读取过程中应用过滤规则,确保数据的安全性。 5. *...

    xml的JAVA解析与格式定义

    DOM4J支持DOM、SAX和StAX解析,并且具有XPath支持,可以方便地查询XML数据。例如,你可以使用`DocumentFactory`创建`Document`,然后使用`read()`方法读取XML文件,或者使用XPath表达式进行查询。 4. **JDOM解析**...

    xml解析xml解析xml解析xml解析

    XML解析涉及理解XML文档的结构、使用不同的解析技术(DOM、SAX、StAX),以及掌握XML的命名空间、Schema和DTD验证。不同的解析方法适用于不同场景,选择合适的解析方式对于高效处理XML至关重要。同时,XML的广泛应用...

    XML读取解析,(初学者)

    3. 使用StAX解析: - 引入`javax.xml.stream`包下的`XMLInputFactory`,`XMLStreamReader`和`XMLEventReader`类。 - 创建`XMLInputFactory`,通过`createXMLStreamReader()`或`createXMLEventReader()`方法获取...

    java 解析 xml

    使用`javax.xml.stream.XMLInputFactory`和`javax.xml.stream.XMLStreamReader`可以实现StAX解析。例如: ```java import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamReader; import ...

    xml解析Demo以及相关jar包

    - **stax-api** 和 **woodstox-core**:用于StAX解析的库,Woodstox是StAX的高性能实现。 - **xercesImpl**:Apache Xerces是一个开源的XML解析器,提供了DOM、SAX和XSLT的实现。 - **xml-apis**:XML API接口,...

    Demo4j解析XML文档实例和方法总结(经典)

    3. StAX解析器: StAX(Streaming API for XML)是另一种流式解析方式,它允许程序在解析过程中向前移动,而不是等待所有数据加载完毕。在Demo4j中,你可能能看到使用`javax.xml.stream.XMLInputFactory`, `...

    xml解析工具-静态分析.rar

    本压缩包"xml解析工具-静态分析.rar"提供了一个方便的工具,用于对APP客户端进行完整性校验,特别强调了其简单易用的操作流程。 在XML解析过程中,主要涉及以下几个核心概念: 1. **XML文档结构**:XML文档由一...

    基于java的XML解析器 Xerces.zip

    在Xerces中,解析XML有多种方式,包括DOM、SAX和StAX。DOM解析器将整个XML文档加载到内存中,形成一个树形结构,便于进行遍历和操作。这种方式适合于小规模的XML文档,但对大型XML来说可能会消耗大量内存。相反,SAX...

    xml入门到java解析

    总结,学习XML与Java解析XML,你需要掌握XML的基本语法和结构,以及在Java中使用DOM、SAX和StAX解析XML的方法。此外,XPath和XSLT是处理和转换XML的重要工具,也值得深入学习。在实际项目中,根据需求和性能考虑选择...

Global site tag (gtag.js) - Google Analytics