`
cin_ie
  • 浏览: 47338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java解析XML实例

阅读更多
(转:http://blog.163.com/liucy_18/blog/static/53192906201062605514991/)

import java.io.File;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;
public class Xmltest {
public static void main(String[] args) throws Exception{
        // TODO Auto-generated method stub
        //从 XML 文档获取 DOM 文档实例。使用此类,应用程序员可以从 XML 获取一个Document
//  创建解析工厂指定DocumentBuilder 
        DocumentBuilder db=DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document document=db.parse(new File("F:\\111.xml"));//把文件解析成DOCUMENT类型
      //  Element root = document.getDocumentElement();  //得到Document的根(节点名:book)
       // System.out.println("根节点标记名:" + root.getTagName()); 
        System.out.println("*****下面遍历XML元素*****"); 
        Element root=document.getDocumentElement() ;
        String rootName=root.getNodeName();
        System.out.println("XML文件根节点的名字:"+rootName);
        NodeList list=root.getElementsByTagName_r("dbstore");//获得page元素
        //NodeList list=document.getElementsByTagName_r("dbstore");//获得page元素这个和上面一行效果一样
       // System.out.println(list.getLength()); 
        showElem(list);      
      
    }
public static void showElem(NodeList nl){
   for(int i=0;i<nl.getLength();i++){
             Node n=nl.item(i);//得到父节点
             if(n.hasChildNodes())
             {
             NamedNodeMap attributes=n.getAttributes(); //遍历节点所有属性如<dbstore single="false" att="tta">
            // System.out.println(attributes.getLength());
             for(int j=0;j<attributes.getLength();j++)
             {
              Node attribute=attributes.item(j);
               //得到属性名
              String attributeName=attribute.getNodeName();
              System.out.println("属性名:"+attributeName);
              //得到属性值
              String attributeValue=attribute.getNodeValue();
              System.out.println("属性值:"+attributeValue);
          }//打印出结果属性名:att属性值:tta属性名:single属性值:false
           
           
             }
             //子节点
          NodeList childList=n.getChildNodes();
          for(int x=0;x<childList.getLength();x++)
          {
            Node childNode=childList.item(x);
            //判断取出的值是否属于Element元素,目的是过滤掉
            if(childNode instanceof Element)
               {
                   //得到子节点的名字
                   String childNodeName=childNode.getNodeName();
                   System.out.println("子节点名:"+childNodeName);
                   //得到子节点的值
                   String childNodeValue=childNode.getTextContent();
                   System.out.println("子节点值:"+childNodeValue);
               }
          } showElem(n.getChildNodes());//递归
             
             }
 
           
           
   }
 
}


*************************************xml如下:

<?xml version="1.0" encoding="gb2312" ?>

<test>
     <dbstore single="false" att="tta">

<className dd="00000">com.DBImpl</className>
         <methodName dd="222">setHashMap</methodName>
         <methodArgsType>java.util.HashMap</methodArgsType>
         <driver>com.mysql.jdbc.Driver</driver>
         <url>jdbc:mysql://localhost:3306/fengzi</url>
         <username>root</username>
         <password>root</password>
         <batchSize>1000</batchSize>
     </dbstore>
        <dbstore single="1" att="1">
         <className>1</className>
         <methodName>1</methodName>
         <methodArgsType>j1</methodArgsType>
         <driver>1</driver>
         <url>1</url>
         <username>1</username>
         <password>1t</password>
         <batchSize>1</batchSize>
     </dbstore>
</test>


*********************************************输出结果:

*****下面遍历XML元素*****
XML文件根节点的名字:test
属性名:att
属性值:tta
属性名:single
属性值:false
子节点名:className
子节点值:com.DBImpl
子节点名:methodName
子节点值:setHashMap
子节点名:methodArgsType
子节点值:java.util.HashMap
子节点名:driver
子节点值:com.mysql.jdbc.Driver
子节点名:url
子节点值:jdbc:mysql://localhost:3306/fengzi
子节点名:username
子节点值:root
子节点名:password
子节点值:root
子节点名:batchSize
子节点值:1000
属性名:dd
属性值:00000
属性名:dd
属性值:222
属性名:att
属性值:1
属性名:single
属性值:1
子节点名:className
子节点值:1
子节点名:methodName
子节点值:1
子节点名:methodArgsType
子节点值:j1
子节点名:driver
子节点值:1
子节点名:url
子节点值:1
子节点名:username
子节点值:1
子节点名:password
子节点值:1t
子节点名:batchSize
子节点值:1
分享到:
评论

相关推荐

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    java解析xml实例

    在Java中,解析XML文件是常见的任务,主要用于读取、修改或生成XML文档。本篇将深入探讨两种主要的XML解析技术:DOM(Document Object Model)和SAX(Simple API for XML)。 DOM解析器将整个XML文档加载到内存中,...

    java 解析xml 多级

    Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...

    SAX解析XML文件实例

    SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...

    java解析xml字符串

    ### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...

    java dom 解析 xml 实例

    Java DOM 解析 XML 实例 Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,使用 W3C 推荐的文档对象模型(Document Object Model,DOM)来解析 XML 文档。DOM 提供了一个树形结构的对象模型,通过...

    java解析XML文件

    Java解析XML文件是Java开发中常见的一项任务,XML(eXtensible Markup Language)作为一种结构化数据存储格式,被广泛用于数据交换、配置文件和Web服务等场景。本篇文章将详细探讨Java如何利用DOM4J库来解析XML文件...

    java解析xml例子

    本篇文章将深入探讨如何在Java中解析XML,以帮助你理解和实践相关知识。 一、DOM解析器 DOM(Document Object Model)解析器是Java中的一种常用方法,它将整个XML文档加载到内存中,形成一个树形结构。以下是一个...

    java解析xml的四种经典方法

    Java解析XML的四种经典方法是XML处理中常用的技术,它们分别是DOM、SAX、StAX和JDOM。每种方法都有其独特的特性和适用场景,下面将详细介绍这四种方法。 1. DOM(Document Object Model)解析: DOM是W3C制定的一种...

    Java 解析xml 存入mongodb 返回org.json json包

    本篇将详细介绍如何使用Java解析XML,将数据存入MongoDB,并返回org.json JSON包。 首先,解析XML通常有两种主要方法:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个XML文档到内存...

    java解析xml——dom

    ### Java解析XML——DOM详解 #### 一、DOM解析概念 **Document Object Model (DOM)**是一种平台和语言中立的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM最初是为HTML设计的,但后来也被...

    dom4j解析xml实例

    **DOM4J解析XML实例详解** 在Java编程中,处理XML文档是一项常见的任务。DOM4J是一个非常流行的、强大的Java XML API,它提供了灵活且高效的方式来解析、创建、修改XML文档。本文将深入探讨如何使用DOM4J进行XML...

    读取RSS-SAX解析XML实例(java版)

    标题"读取RSS-SAX解析XML实例(java版)"所涉及的知识点主要集中在两个方面:一是如何读取RSS(Really Simple Syndication)数据,二是使用SAX解析XML文件。 RSS是一种用于发布新闻、博客和其他定期更新内容的格式...

    dom4j 解析xml实例

    在这个实例中,我们将深入探讨如何使用DOM4J解析XML文件,并通过`Dom4jTest1.java`这个示例程序来理解其工作原理。 首先,我们需要了解XML(Extensible Markup Language)是一种标记语言,常用于存储和传输数据。...

    java 解析、生成 Excel XML 四个实例

    本文将深入探讨四个使用Java解析和生成Excel及XML的实例,旨在帮助开发者掌握相关技能。 实例一:解析Excel文件 使用Apache POI库是Java中解析Excel文件的常见方式。POI提供了HSSF(旧版Excel .xls格式)和XSSF(新...

    JAVA调用webservice并解析xml

    在IT行业中,调用Web服务并解析XML是常见的任务,特别是在Java开发中。Web服务,尤其是基于SOAP(Simple Object Access Protocol)的,提供了一种标准的跨平台、跨语言的数据交换方式。本教程将深入讲解如何在Java...

    android解析xml实例

    ### Android解析XML实例详解 #### 一、XML数据结构与示例 在Android开发中,经常需要处理XML格式的数据。本篇文章将通过一个具体的例子来详细介绍如何在Android应用中解析XML文件。 首先,我们来看一下这个例子中...

    XStream解析XML实例

    **XStream解析XML实例** 在Java开发中,处理XML数据是一项常见的任务,XStream库提供了一个简单而强大的方式来将Java对象序列化为XML,以及从XML反序列化回Java对象。这个实例将深入探讨如何使用XStream进行XML操作...

    Java操作XML编程实例解析.doc

    在这个实例中,JAXP的`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`用于解析XML文件,构建DOM树。 4. **Bean类**:在Java中,Bean是一种符合特定设计模式的简单Java对象,通常用于数据封装。在...

    JAVA解析XML

    ### JAVA解析XML知识点详解 #### 一、XML与JAVA的关系 **XML (eXtensible Markup Language)** 是一种用于标记电子文件使其具有结构性的标记语言。由于其平台无关性、语言无关性和系统的无关性,XML成为了数据交换...

Global site tag (gtag.js) - Google Analytics