`
liuzm
  • 浏览: 101006 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JAVA 读取xml文件

    博客分类:
  • JAVA
阅读更多
JAVA 读取xml文件
代码如下:
java类:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


public class ReadXml {

   
     public ReadXml() {
            //(1)得到DOM解析器的工厂实例
            DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
            //得到javax.xml.parsers.DocumentBuilderFactory;类的实例就是我们要的解析器工厂
            try  {
                //(2)从DOM工厂获得DOM解析器
                DocumentBuilder dombuilder=domfac.newDocumentBuilder();
                //通过javax.xml.parsers.DocumentBuilderFactory实例的静态方法newDocumentBuilder()得到DOM解析器
                //(3)把要解析的XML文档转化为输入流,以便DOM解析器解析它
                InputStream is=new FileInputStream("D:\\liu.xml");  //xml 的路径         
                //(4)解析XML文档的输入流,得到一个Document
                Document doc=dombuilder.parse(is);
                //由XML文档的输入流得到一个org.w3c.dom.Document对象,以后的处理都是对Document对象进行的
                //(5)得到XML文档的根节点
                Element root=doc.getDocumentElement();
                //在DOM中只有根节点是一个org.w3c.dom.Element对象。
                //(6)得到节点的子节点
                NodeList books=root.getChildNodes();
               
                if(books!=null) {
                    for(int i=0;i<books.getLength();i++) {
                        Node book=books.item(i);
                       // if(book.getNodeType()==Node.ELEMENT_NODE) {
                            //(7)取得节点的属性值
                        //    String email=book.getAttributes().getNamedItem("email").getNodeValue();
                         //   System.out.println(email);
                            //注意,节点的属性也是它的子节点。它的节点类型也是Node.ELEMENT_NODE
                            //(8)轮循子节点
                            for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()) {
                                if(node.getNodeType()==Node.ELEMENT_NODE) {
                                    if(node.getNodeName().equals("name")) {
                                        String name=node.getNodeValue();
                                        String name1=node.getFirstChild().getNodeValue();
                                        System.out.println("这个值是空的:"+name);
                                        System.out.println("xml里面的name标签值:"+name1);
                                    }
                                    if(node.getNodeName().equals("price")) {
                                        String price=node.getFirstChild().getNodeValue();
                                        System.out.println("xml里面的price标签值:"+price);
                                    }
                               // }
                            }
                           
                            //
                        }
                    }//(6)这是用一个org.w3c.dom.NodeList接口来存放它所有子节点的,还有一种轮循子节点的方法,后面有介绍
                }
            } catch (ParserConfigurationException e)  {
                e.printStackTrace();
            } catch (FileNotFoundException e)  {
                e.printStackTrace();
            } catch (SAXException e)  {
                e.printStackTrace();
            } catch (IOException e)  {
                e.printStackTrace();
            }
        }

         public static void main(String[] args) {
           
             new ReadXml();
        }
}



xml文件内容:
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<books>
    <book >
        <name>湖北网址导航</name>
        <price>http://www.hb117.com</price>
    </book>
<book >
        <name>刘志猛的博客</name>
        <price>http://www.liuzm.com</price>
    </book>
</books>

本篇文章来源于 :刘志猛博客 原文链接:http://www.liuzm.com/article/java/9612.htm
http://www.liuzm.com
分享到:
评论

相关推荐

    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,word,xml文件(防乱码)

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

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

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

    java读写xml文件的方法

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

    java读取xml文件生成文件

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

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

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

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

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

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

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

    java 读取xml文件生成树形图

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

    java读取xml文件并存入数据库

    java从xml中读入数据并存入到sqlserver2005数据库中

    java写XML文件和读取XML文件

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

    java读取xml文件demo

    java实现的一个读取本地xml文件的例子,进入正题: 需要的包jdom2-2.0.6.jar:下载地址,http://mvnrepository.com/artifact/org.jdom/jdom2 此例子比较简单

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

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

    java中读写XML文件

    在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和...在提供的"在java中读写XML文件.ppt"和"源码"中,可能包含了更多详细的步骤和示例代码,可以帮助你进一步理解这个主题。

    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