`

指定dtd文件路径(XMLReader 中指定 xml对应的dtd路径)

 
阅读更多
说明:<!DOCTYPE xxx SYSTEM "test.dtd">

解析xml是在同级目录下放置了test.dtd文件,可是还是不能找到这个dtd文件,于是就用了下面的方法:

=================================

XMLReader reader = XMLReaderFactory.createXMLReader();

//reader.setErrorHandler(errorHandler);
//reader.setContentHandler(contentHandler);

reader.setEntityResolver(new EntityResolver() {

    @Override
    public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
      String dtdURL = “C:\\dtdlib\\test.dtd";//路径可以自己指定
     // System.err.println("dtdURL:"+dtdURL);
     return new InputSource(dtdURL);
    }
   });

reader.parse(inputSource);
==================================

小插曲:其实如果xml中没有类似<!DOCTYPE xxx SYSTEM "xx.dtd">这样的声明,xml也同样能够正确解析,只需在XMLReader 的parse解析前对inputSource得到的字符串进行相关的处理即可,比如在字符串中加入这个声明。这样就可以不改变xml文档的情况下(有时项目中要求xml不可变),这时就可以动态的指定dtd了。

======
分享到:
评论

相关推荐

    php xmlReader & xmlWriter

    在PHP的XML处理工具箱中,`xmlReader`与`xmlWriter`是两个非常重要的类,它们为开发者提供了高效、灵活的XML数据读写能力。本文将深入探讨这两个类的功能和使用场景,以及它们与其他XML处理技术(如SimpleXML、DOM、...

    使用XmlDocumentXmlDataDocument类加载XML文件时如何忽略DTD验证

    在处理XML文件时,有时我们可能会遇到由于XML文档包含了对外部DTD(Document Type Definition)的引用,导致在使用`XmlDocument`或`XmlDataDocument`类加载文件时出现验证异常。DTD是XML的一个组成部分,用于定义XML...

    Silverlight使用XmlReader读取XML并加载到TreeView

    1. **创建XmlReader实例**:使用XmlReader.Create方法创建一个XmlReader实例,传入XML数据的来源,例如一个字符串或一个文件路径。在Silverlight中,由于安全限制,我们可能需要使用IsolatedStorageFileStream来访问...

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

    在这个“优秀xml课程设计”中,我们将会深入探讨XML的基础知识,包括其结构、语法以及如何使用DTD(Document Type Definition)来定义XML文档的结构。 XML的基本结构由元素(Element)、属性(Attribute)、文本...

    XML.rar_Csharp xml_c# xml文件读写_xml_xml读写_读写xml

    这段代码首先创建了一个新的XmlDocument实例,然后加载了指定路径的XML文件。通过XmlNodeReader可以逐行读取XML内容,而XPath表达式则用于查询XML文档中的特定节点。 对于写入XML文件,我们可以使用相同的Xml...

    C# 读写xml文件_xml_

    在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,尤其在编程领域,如C#中,XML被广泛应用于配置文件、数据交换和存储结构化信息。本教程将深入探讨如何使用C#进行XML文件的...

    C#操作XML文件完整源码

    在IT领域,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,广泛应用在各种软件和网络服务中。C#是Microsoft开发的一种面向对象的编程语言,非常适合处理XML数据。本主题将深入探讨如何...

    面向.net的xml程序设计(实验报告+源码)

    本实验报告将深入探讨如何在.NET环境中进行XML程序设计,包括创建XML文档、解析XML、验证XML以及使用DTD(Document Type Definition)和XSD(XML Schema Definition)进行数据验证。 首先,让我们理解XML的基本概念...

    XML文件读写(C#)下载

    C#的System.Xml命名空间中,XmlReader类用于高效地读取XML数据,而XmlNodeReader则提供了一种简化读取XML节点的方法。这里我们使用XmlDocument类,它提供了一个更直观的API来操作XML文档: ```csharp using System;...

    XMLReaderFactory.rar_Creating

    XMLReaderFactory是 javax.xml.parsers 命名空间下的类,提供了createXMLReader()方法,这个方法允许我们通过指定解析器的系统ID或者类路径来创建XMLReader。这样做的好处在于,我们可以灵活地选择或切换解析器,...

    C# XML入门经典.pdf

    它允许开发者指定XML文档中特定部分的路径,并且可以用来搜索和匹配节点,从而提取特定的数据。 - **XSLT**(Extensible Stylesheet Language Transformations)用于转换XML文档到其他形式,比如HTML或纯文本等。...

    读写Xml类.rar

    在实际应用中,可能还会涉及XML的验证(使用DTD或XML Schema),XML的序列化与反序列化(如转换成Java对象),以及XPath(XML路径语言)来查找特定节点等高级操作。 总的来说,这个压缩包提供了XML处理的基础工具,...

    两种xml格式的读取方法

    4. 格式验证:使用DTD(文档类型定义)或XML Schema来验证XML文件的结构是否符合预期。 总的来说,XML作为一种灵活的数据交换格式,有多种读取和处理方式。理解并掌握这些方法,对于开发涉及数据交换的系统至关重要...

    XML读写操作大全.docx

    XML文件的操作通常涉及到读取、写入和解析等任务,这些任务可以通过Java中的XML API来实现,如`XmlReader`和`XmlWriter`。 **使用XmlReader读取XML** `XmlReader`是.NET框架中用于读取XML数据的一个非缓存、只进...

    php-xml

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它在Web应用程序、数据交换和配置文件等领域广泛应用。PHP(Hypertext Preprocessor)作为一种流行的服务器端脚本语言,与XML的结合使得数据...

    xml帮助类,xml,C#

    在实际应用中,为了提高性能和减少内存占用,开发者可能会选择其他XML处理类,如`XDocument`(LINQ to XML)或者`XmlReader`/`XmlWriter`,这些类提供了不同的特性和使用场景。不过,对于需要完整DOM(Document ...

    xml文件的基本操作

    对于大型XML文件,可以使用基于事件的处理,如`XmlReader`,这是一种SAX(Simple API for XML)风格的处理方式。它不将整个文档加载到内存,而是逐个处理元素,节省资源。 总结,XML文件的基本操作包括创建、删除...

    报文日志文件入库实例---XML解析

    Java中的`org.xml.sax.helpers.DefaultHandler`和`org.xml.sax.XMLReader`类是实现SAX解析的核心。开发者需要定义事件处理器,当解析器遇到XML元素、属性等时,会触发相应的事件。 3. **JAXB(Java Architecture ...

    xmlfile_C#源码_

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它在软件开发中扮演着重要的角色,尤其是在数据交换、配置文件和数据存储等方面。C# 是微软开发的一种面向对象的编程语言,广泛应用于...

    C#读取XML文件经典案例 c#经典案例.doc

    用户可以通过点击“button1”打开文件对话框选择XML文件,然后将文件路径输入到txtPath文本框。点击“btnReaderXML”按钮会触发XmlReader读取XML文件,并将内容添加到ListBox(lbxml)中。这里使用了...

Global site tag (gtag.js) - Google Analytics