`
chenxu_8456
  • 浏览: 41530 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Java操作XML文件(2)-读取XML文件

 
阅读更多
使用Java读取XML文件:
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();
		}

	}
}
分享到:
评论

相关推荐

    用java读取xml文件的四种方法

    要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...

    js 操作xml 文件 读取xml文件

    js 操作xml 文件 读取xml文件 js 操作xml 文件 读取xml文件

    java读取xml文件

    Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...

    JAVA高手解析XML配置文件的读取操作.pdf

    JAVA 高手解析 XML 配置文件的读取操作 本文主要讲解了 Java 中如何读取 XML 配置文件,并对 XML 解析器进行了分类,分别介绍了 DOM 和 SAX 两种解析方式的特点和使用场景,并提供了一个使用 SAX 解析器读取 XML ...

    Java读写xml,word,xml文件(防乱码)

    #### 三、Java读取XML文件 对于XML文件的读取,我们可以采用Java标准库中的`BufferedReader`配合`InputStreamReader`的方式来进行处理。这样可以在读取文件的同时指定正确的字符编码,从而避免乱码问题。 ```java ...

    用java读取修改xml文件的代码实现

    本文将详细介绍如何使用Java来读取和修改XML文件,主要涉及以下几个核心知识点: 1. **DOM解析器**: Document Object Model(DOM)是一种将XML文档转换为内存中的树形结构的方法,使得可以遍历和修改XML文件。...

    java写XML文件和读取XML文件

    在Java编程中,处理XML文件是常见的需求,包括创建XML文件、读取XML文件以及解析XML内容。下面将详细介绍Java如何进行XML文件的操作。 一、Java写XML文件 1. 使用DOM(Document Object Model)API: DOM是W3C推荐...

    java读取xml文件生成文件

    在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明。 首先,Java中的`javax.xml.parsers`和`org.w3c.dom`包提供了处理XML的基本工具。`javax.xml....

    java 操作xml文件(包含xml文件和对应jar包)

    在实际应用中,我们可能需要读取XML文件中的数据,例如,使用DOM API的`DocumentBuilderFactory`和`DocumentBuilder`来创建`Document`对象,然后通过`getElementsByTagName`、`getElementsByTagnameNS`等方法查找...

    JAVA操作XML文件

    这篇博客文章“JAVA操作XML文件”可能涵盖了如何在Java环境中解析、创建和修改XML文档的核心概念。以下是相关的知识点详解: 1. **DOM解析器**: - DOM(Document Object Model)是W3C的标准,它将XML文档转化为一...

    Java操作XML文件-dom4j .doc

    Java中的DOM4J库是一个非常流行的处理XML文档的工具,它提供了一套简单易用的API,使得在Java中操作XML文件变得相当便捷。本文主要介绍如何使用DOM4J进行XML文件的操作,包括XML字符串与Document对象之间的转换,...

    java_java写XML文件和读取XML文件

    在Java编程中,处理XML文件是常见的需求,包括读取XML文件的内容以及将数据写入XML文件。下面将详细介绍Java中如何进行XML文件的读取和写入操作。 一、读取XML文件 1. DOM解析:Document Object Model(DOM)是一...

    java导入导出xml文件

    3. StAX解析:使用`XMLInputFactory`创建`XMLStreamReader`,然后逐个读取XML事件,如`StartElement`, `Characters`, `EndElement`等。StAX允许程序员控制解析过程,适合流式处理和低内存应用。 对于导出XML文件,...

    xml-apis-1.4.01.jar.zip

    2. **本地库缺失**:如果没有使用构建工具,而是手动管理库,那么可能需要将`xml-apis-1.4.01.jar`文件复制到项目的类路径(ClassPath)中,通常是`lib`目录下,并确保在运行Java应用时能够找到这个库。 3. **版本...

    Java解析XML工具类--(java源码)

    * 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...

    java读取本地xml文件信息

    这篇博文链接虽然没有提供具体的内容,但我们可以通过一般的方法来详细讲解如何在Java中读取XML文件信息。 首先,要读取XML文件,我们需要引入Java的标准库`javax.xml.parsers`,它包含了处理XML文档的类和接口。...

    java读取和写入xml文件

    StAX是一种基于流的解析器,允许开发者按需读取XML文档,可以向前移动,但不能回溯。它比SAX更灵活,也更节省内存。 - 优点:内存效率高,编程更灵活。 - 缺点:需要更多的代码来实现相同功能。 - 示例代码: ```...

    用java读取txt文件和xml文件

    接下来,我们讨论如何读取XML文件。Java提供了`javax.xml.parsers`包,包含`DocumentBuilderFactory`和`DocumentBuilder`类,它们用于解析XML文件并创建一个DOM(文档对象模型)表示。以下是一个基本示例: ```java...

    java读取xml文件导入到mysql数据库中

    xml文件导入到mysql数据库中,包括文件:ConnectionUtils.java,InsertDT.java,db_mysql.properties,test01.xml,需要的jar包dom4j-1.6.1.jar,mysql-connection-java-3.1.1.3-bin.jar,jaxen-1.1-beta-7.jar

Global site tag (gtag.js) - Google Analytics