`

读取xml(XMLReader )

    博客分类:
  • xml
阅读更多
当我们读取xml时:
1.建立一个text.xml
<?xml version="1.0" encoding="UTF-8"?>
<Books>
    <Book>
        <Price></Price>
        <Title></Title>
    </Book>
</Books>
2.
package xml;  
 
import java.util.ArrayList;  
import java.util.List;  
 
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
 
import org.w3c.dom.Document;  
import org.w3c.dom.Element;  
import org.w3c.dom.NodeList;  
 
public class XMLReader {  
    private String fileName;  
 
    public XMLReader(String fileName) {  
        this.fileName = fileName;  
    }  
 
    public Element getRootElement() throws Exception {  
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
        DocumentBuilder builder = factory.newDocumentBuilder();  
        Document document = builder.parse(fileName);  
        return document.getDocumentElement();  
    }  
 
    public List<Element> getElementsByTagName(Element parent, String tagName) {  
        List<Element> elements = new ArrayList<Element>();  
        if (parent != null) {  
            NodeList list = parent.getElementsByTagName(tagName);  
            for (int i = 0; i < list.getLength(); i++) {  
                elements.add((Element) list.item(i));  
            }  
        }  
        return elements;  
    }  
 
    public Element getElementByTagName(Element parent, String tagName, int index) {  
        List<Element> elements = getElementsByTagName(parent, tagName);  
        if (index < 0 || index >= elements.size()) {  
            return elements.get(0);  
        } else {  
            return elements.get(index);  
        }  
    }  
 
    public String getTextContent(Element e) {  
        return e.getTextContent();  
    }  
 
    public String getAttribute(Element e, String name) {  
        return e.getAttribute(name);  
    }  
 
    public static void main(String[] args) {  
        try {  
            XMLReader reader = new XMLReader("E:\\test.xml");  
            Element root = reader.getRootElement();  
            System.out  
                    .println(reader.getElementsByTagName(root, "Book").size());  
            Element book = reader.getElementByTagName(root, "Book", 0);  
            Element price = reader.getElementByTagName(book, "Price", 0);  
            System.out.println(price.getTextContent());  
            Element title = reader.getElementByTagName(book, "Title", 0);  
            System.out.println(reader.getTextContent(title));  
            System.out.println(reader.getAttribute(title, "Auth"));  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
 
    }  

分享到:
评论

相关推荐

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

    而XmlReader作为.NET Framework中的一个强大的XML解析器,能够高效地读取XML数据,特别适合处理大型XML文件。 首先,我们需要理解XmlReader的工作原理。XmlReader是一种只前进、不可回溯的流式解析器,它不会将整个...

    使用 XmlReader 读取 XML 文档

    本文将详细介绍如何使用`XmlReader`来读取XML文档,并通过两个实际示例——`CustomersReader`和`CarsReader`,帮助初学者理解其用法。 首先,让我们了解`XmlReader`的基本使用方法。创建`XmlReader`对象通常通过`...

    读取XML文件的四种方法

    使用SAX方法读取XML文件,需要创建XMLReader对象,注册事件处理器,然后读取XML文件触发事件处理器进行数据提取。 优点:SAX方法提供了高效的XML解析方式,不需要将整个XML文档加载到内存中,适合大型XML文件的读取...

    vb读取xml文件节点值操作实例

    本实例将深入探讨如何在VB环境中不依赖XML.DLL库来读取XML文件的节点值。 首先,我们需要了解XML文件的基本结构。XML文件由一系列的元素(Element)组成,每个元素可以有属性(Attribute)和子元素。元素通过标签...

    C#读取XML文件并写入数据库

    下面,我们将详细介绍三种使用C#读取XML文件并将其写入数据库的方法。 1. **使用XmlReader类逐行读取并写入** - `XmlReader` 是一个高效的流式读取器,不占用大量内存。通过创建`XmlReader`实例,我们可以逐个节点...

    C# XML文件读取示例

    本示例将详细介绍如何在C#中读取XML文件,帮助开发者理解并掌握相关技术。 首先,让我们了解XML文件的基本结构。XML文件通常包含元素(Element)、属性(Attribute)、文本内容(Text Content)等组成部分。元素是...

    sax解析xml本地读取xml

    3. **解析XML**:调用`XMLReader.parse()`方法,传入XML文件的URL或输入流,解析器开始读取XML并触发事件处理器中的相应方法。 4. **处理事件**:在事件处理器中,我们可以根据接收到的事件类型来处理XML文档中的...

    Java读取XML文件自制工具类

    //通过文件路径及文件名读取xml public XMLReader(String path, String filename); //初始化读取包下的的XML文件 public XMLReader(Package package1, String fileName); //读取WEB-INF下的xml文件 public XMLReader...

    基于C#中XmlReader读取Xml的深入分析

    XmlReader读取Xml需要通过Read()实例方法,不断读取Xml文档中的声明,节点开始,节点内容,节点结束,以及空白等等,直到文档结束,Read()方法返回false。如下读取Xml内容实例代码和注释说明 代码如下:using System;...

    C#读取Xml.

    本篇文章将详细探讨如何在C#中读取XML文件,并生成Web标签。 首先,我们需要了解XML的基本结构。XML文档由元素、属性、文本内容以及命名空间等组成。每个XML文件都有一个根元素,其他的元素嵌套在其下。C#提供了...

    一个完全读取XML的实例(C#)

    使用`XmlReader`的`Read()`方法逐个读取XML文件中的节点。当遇到元素节点时,可以检查其属性和子节点。例如: ```csharp while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { string ...

    java递归读取xml文件

    本篇文章将深入探讨如何使用Java递归地读取XML文件。 首先,我们需要了解XML的基本结构。XML(eXtensible Markup Language)是一种标记语言,它的层次结构由元素(Element)、属性(Attribute)以及文本内容(Text ...

    C#读取Xml文件 C#读取Xml文件

    - `XmlReader`:抽象基类,提供按节点流式读取XML的能力,如`Read()`, `ReadString()`等。 - `XmlTextReader`:继承自`XmlReader`,专用于文本格式的XML读取。 - `XmlValidatingReader`:增加了XML验证功能的`...

    使用c#如何读取xml文件

    `XmlReader`提供了一个快速、非缓存、只向前移动的接口来读取XML文档。`XmlTextReader`类则进一步提供了对文本格式的XML文档的读取支持。 #### 四、使用`XmlTextReader`读取XML文档 下面是一段示例代码,展示了...

    ASP.NET读取XML文件

    本篇教程的目标是让开发者熟练地使用三种主要的ASP.NET类来读取XML文件:XmlReader、XMLDocument和XMLWriter。首先,我们来看XmlReader,这是一个高效且节省内存的读取器,它不存储整个XML文档,而是按需读取节点,...

    读取XML属性值.rar

    这个“读取XML属性值.rar”压缩包可能包含了一个示例或工具,用于演示如何在编程中读取XML文档中的属性值。 在读取XML属性值时,我们通常会用到以下知识点: 1. XML的基本结构:XML文档由元素、属性、文本、注释等...

    java 读取xml文件生成树形图

    在Java编程中,读取XML文件并将其转换为树形结构是一种常见的操作,尤其是在处理配置文件、数据交换或解析XML文档时。以下是一篇详细解释如何实现这一过程的文章。 首先,我们需要了解XML(eXtensible Markup ...

    java读取xml文件

    本篇将详细介绍Java读取XML文件的四种常见方式,并结合实际示例进行解析。 1. DOM(Document Object Model)解析: DOM解析器将整个XML文件加载到内存中,构建一个树形结构,允许我们通过节点操作来访问和修改XML...

    Android读取XML文件(SAX)

    最后,使用创建的解析器和处理器读取XML文件: ```java InputStream is = context.getResources().openRawResource(R.raw.xmlFile); // 获取XML文件输入流 saxParser.parse(is, new MyHandler()); is.close(); ``` ...

    php xmlReader & xmlWriter

    1. **事件驱动的解析**:`xmlReader`按需读取XML文档,仅在需要时加载数据,这大大减少了内存占用。 2. **支持验证**:可以使用DTD、XSD、RNG等规范对XML文档进行验证,确保数据的正确性和完整性。 3. **属性访问**...

Global site tag (gtag.js) - Google Analytics