`

JAVA读取XML

阅读更多
一.java类
package com.java.test;  

import org.w3c.dom.*;  
import javax.xml.parsers.*;  
import java.io.*;  

public class JavaReadXml {  
// Document可以看作是XML在内存中的一个镜像,那么一旦获取这个Document 就意味着可以通过对 
// 内存的操作来实现对XML的操作,首先第一步获取XML相关的Document 
private Document doc = null;  

public void init(String xmlFile) throws Exception {  
// 很明显该类是一个单例,先获取产生DocumentBuilder工厂 
// 的工厂,在通过这个工厂产生一个DocumentBuilder, 
// DocumentBuilder就是用来产生Document的 
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
DocumentBuilder db = dbf.newDocumentBuilder();  
// 这个Document就是一个XML文件在内存中的镜像 
doc = db.parse(new File(xmlFile));  
}  

// 该方法负责把XML文件的内容显示出来 
public void viewXML(String xmlFile) throws Exception {  
this.init(xmlFile);  
// 在xml文件里,只有一个根元素,先把根元素拿出来看看 
Element element = doc.getDocumentElement();  
System.out.println("根元素为:" + element.getTagName());  

NodeList nodeList = doc.getElementsByTagName_r("person");  
System.out.println("book节点链的长度:" + nodeList.getLength());  

Node fatherNode = nodeList.item(0);  
System.out.println("父节点为:" + fatherNode.getNodeName());  

// 把父节点的属性拿出来 
NamedNodeMap attributes = fatherNode.getAttributes();  

for (int i = 0; i < attributes.getLength(); i++) {  
Node attribute = attributes.item(i);  
System.out.println("book的属性名为:" + attribute.getNodeName()  
+ " 相对应的属性值为:" + attribute.getNodeValue());  
}  

NodeList childNodes = fatherNode.getChildNodes();  
System.out.println(childNodes.getLength());  
for (int j = 0; j < childNodes.getLength(); j++) {  
Node childNode = childNodes.item(j);  
// 如果这个节点属于Element ,再进行取值 
if (childNode instanceof Element) {  
// System.out.println("子节点名为:"+childNode.getNodeName()+"相对应的值为"+childNode.getFirstChild().getNodeValue()); 
System.out.println("子节点名为:" + childNode.getNodeName()  
+ "相对应的值为" + childNode.getFirstChild().getNodeValue());  
}  
}  

}  

public static void main(String[] args) throws Exception {  
JavaReadXml parse = new JavaReadXml();  

// 我的XML文件 
parse.viewXML("person.xml");  
}  
}  

二.xml文件
<?xml version="1.0" encoding="UTF-8"?>  
<book>  
<person>  
<first>wang</first>  
<last>laohu</last>  
<age>25</age>  
<version>中国邮电出版社</version>  
</person>  
<person>  
<first>li</first>  
<last>junjia</last>  
<age>24</age>  
<version>清华大学出版社</version>  
</person>  
</book> 

三.输出结果

根元素为:book
book节点链的长度:2
父节点为:person
9
子节点名为:first相对应的值为wang
子节点名为:last相对应的值为laohu
子节点名为:age相对应的值为25
子节点名为:version相对应的值为中国邮电出版社
 
分享到:
评论

相关推荐

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

    ### Java读写XML、Word与TXT文件:去除乱码问题详解 #### 一、引言 在实际开发过程中,我们经常需要处理各种类型的文件,包括XML、Word文档以及普通的文本文件(如TXT)。这些文件在读写过程中经常会遇到乱码问题,...

    java读写xml文件

    ### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...

    java读取xml文件

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

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

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

    使用Java读取XML配置文件

    使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...

    java读取XMl数据

    以上就是Java读取XML数据的主要方法。选择哪种方式取决于具体的需求,如处理大型XML文件时,SAX和StAX更为高效;而如果需要频繁查询和修改XML结构,DOM和DOM相关的库可能更适合。在实际开发中,可以根据项目规模、...

    java 读取xml文件生成树形图

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

    Java读写xml java 读写xml文件操作, 简单易懂

    ### Java读写XML文件操作详解 在现代软件开发中,XML(可扩展标记语言)是一种广泛使用的数据交换格式,尤其在处理配置文件、数据存储以及跨平台数据交换时显得尤为重要。Java提供了多种读写XML文件的方法,包括SAX...

    java读取XML文件内容的四种方法[归类].pdf

    Java 读取 XML 文件内容的四种方法 Java 语言提供了多种方法来读取 XML 文件内容,以下是四种常见的方法: 1. DOM(Document Object Model) DOM 是一种基于树的模型,它将 XML 文档表示为一个层次结构的节点或...

    java读写xml文件的方法

    ### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...

    xml.rar_java xml_java读写xml

    三、Java读取XML 1. DOM方式读取: 使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来创建DOM对象,然后通过`getElementsByTagName`、`getAttribute`等方法获取元素和属性。 2. SAX方式...

    java读取XML(JDOM)

    Java读取XML文件是开发过程中常见的任务,JDOM是一个用于处理XML文档的Java库,它提供了方便、高效的方式来创建和操作XML数据。本篇将详细讲解如何使用JDOM来读取XML文件,以及相关的源码解析。 首先,我们需要了解...

    java读取XML内容源代码

    在Java编程中,读取XML(eXtensible Markup Language)文件内容是一项常见的任务,尤其在处理配置数据、数据交换或者存储结构化信息时。XML因其可读性强、结构清晰的特点,被广泛应用于各种场景。本篇文章将详细介绍...

    Java读取xml文件的四种方法.doc

    Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常见的方法,分别使用 DOM、DOM4J、JDOM 和 SAX 解析器。 第一种方法:使用 DOM DOM(Document Object Model)是一种树形结构,...

    java读取xml文件生成文件

    Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...

    java写XML文件和读取XML文件

    二、Java读取XML文件 1. 使用DOM解析: 读取XML文件时,首先会将整个XML文档加载到内存中的DOM树,然后通过API遍历和访问各个节点。 示例代码: ```java import javax.xml.parsers.DocumentBuilder; import javax....

    java读取xml用到的jar包集合

    在“java读取XML用到的jar包集合”中,包含了9个关键的JAR文件,它们提供了处理XML所需的API和功能。以下是这些JAR文件可能包含的重要知识点: 1. **JAXB (Java Architecture for XML Binding)** JAXB是Java标准版...

    Java读取xml文件中oracle数据库连接

    在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的...以上就是关于"Java读取xml文件中oracle数据库连接"的相关知识,希望对您有所帮助。在实际项目中,可能还需要考虑异常处理、连接池管理等高级话题。

Global site tag (gtag.js) - Google Analytics