`

几种常用xml解析

阅读更多
    <?xml version="1.0" encoding="UTF-8"?>    
    <HD>    
      <disk name="C">    
        <capacity>8G</capacity>    
        <directories>200</directories>    
        <files>1580</files>    
      </disk>    
       
      <disk name="D">    
        <capacity>10G</capacity>    
        <directories>500</directories>    
        <files>3000</files>    
      </disk>    
    </HD>  
以上为test.xml文件内容
1、dom方式解析,无需jar
    package Dom; 
    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 DomXML { 
         
        public static void main(String[] args)throws Exception { 
            //得到DOM解析器的工厂实例 
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
            //从DOM工厂中获得DOM解析器 
            DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder(); 
            //声明为File为了识别中文名 
            Document doc = null; 
            doc = dbBuilder.parse("F:/work_sapce_petroskill/Spring/src/Dom/test.xml"); 
             
            //得到文档名称为Student的元素的节点列表 
            NodeList list = doc.getElementsByTagName("disk"); 
             
            //遍历该集合,显示结合中的元素及其子元素的名字 
            for(int i = 0; i< list.getLength() ; i ++){ 
                Element element = (Element)list.item(i); 
                String name=element.getAttribute("name"); 
                String capacity=element.getElementsByTagName("capacity").item(0).getFirstChild().getNodeValue(); 
                String directories=element.getElementsByTagName("directories").item(0).getFirstChild().getNodeValue(); 
                String files=element.getElementsByTagName("files").item(0).getFirstChild().getNodeValue(); 
                System.out.println("磁盘信息:");  
                System.out.println("分区盘符:"+name);  
                System.out.println("分区容量:"+capacity);  
                System.out.println("目录数:"+directories);  
                System.out.println("文件数:"+files);  
                System.out.println("-----------------------------------");  
            }       
        } 
     } 
2、jdom解析,jdom.jar
    package Dom; 
    import java.util.List; 
     
    import org.jdom.Document; 
    import org.jdom.Element; 
    import org.jdom.input.SAXBuilder; 
    public class JDomXML {  
      public static void main(String[] args) throws Exception{   
        SAXBuilder sb=new SAXBuilder();  
        Document doc=sb.build(Dom4jXML.class.getClassLoader().getResourceAsStream("Dom/test.xml")); //构造文档对象 
        Element root=doc.getRootElement(); //获取根元素 
        List list=root.getChildren("disk");//取名字为disk的所有元素  
        for(int i=0;i<list.size();i++){  
           Element element=(Element)list.get(i);  
           String name=element.getAttributeValue("name");  
           String capacity=element.getChildText("capacity");//取disk子元素capacity的内容  
           String directories=element.getChildText("directories");  
           String files=element.getChildText("files");  
           System.out.println("磁盘信息:");  
           System.out.println("分区盘符:"+name);  
           System.out.println("分区容量:"+capacity);  
           System.out.println("目录数:"+directories);  
           System.out.println("文件数:"+files);  
           System.out.println("-----------------------------------");  
        }    
      }  
    }  
3、dom4j,dom4j。jar
package Dom; 
import java.util.Iterator; 
import org.dom4j.Document; 
import org.dom4j.Element; 
import org.dom4j.io.SAXReader; 
 
public class Dom4jXML{    
   public static void main(String[] args) throws Exception { 
     
        //创建文件对象    
        java.io.File file=new java.io.File("F:/workSapce/javaXML/src/Dom/test.xml");    
        //创建一个读取XML文件的对象    
        SAXReader reader=new SAXReader();    
        //创建一个文档对象    
        Document document=reader.read(file);    
        //获取文件的根节点    
        Element element=document.getRootElement(); 
        for(Iterator i=element.elementIterator("disk");i.hasNext();){ 
            //获取节点元素    
            element=(Element)i.next(); 
            String name=element.attributeValue("name"); 
            String capacity=element.elementText("capacity");//取disk子元素capacity的内容  
            String directories=element.elementText("directories");  
            String files=element.elementText("files");  
            System.out.println("磁盘信息:");  
            System.out.println("分区盘符:"+name);  
            System.out.println("分区容量:"+capacity);  
            System.out.println("目录数:"+directories);  
            System.out.println("文件数:"+files);  
            System.out.println("-----------------------------------");  
        }    
    }    
}   
以上为几种常见的xml文件解析方法
转自:http://lhkzyz.iteye.com/blog/1681905
此外还有sax等解析方法,而且sax速度很快,很好用,文件小点儿的话用dom或者jdom,不过原理基本相同,就是效率的问题
以后还会更新...
分享到:
评论

相关推荐

    ios中xml解析demo

    ios中xml解析demo 提供几种常用方法 运行后在后台打出

    android xml解析1

    在JAVA中有两种常见的XML解析方式,DOM和SAX,DOM在解析的时候会将所有的数据一次性载入内存中进行解析,在数据量比较大的情况下,效率非常低.尤其在手机这种对内存和性能要求比较苛刻的设备里面这种方法并不可取. ...

    用Python解析XML的几种常见方法的介绍

    这篇文章主要介绍了用Python解析XML的几种常见方法,包括快速的使用ElementTree模块等方法的实例介绍,需要的朋友可以参考下 一、简介 XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据...

    DOM4j\pull\dom解析XML文件

    此文档详细解释几种常用XML解析方式,大家可以看看,或许对你有帮助

    java解析xml及4种常用解析比较

    SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让开发人员...

    xml 几种解析法总结

    其中包含 dom,jdom,sax,以及xpath等常用解析法。

    xml解析文档

    xml解析,讲述了几种常用以及通用的解析方法。简单易懂。

    java解析xml常用的几种方式总结

    主要介绍了java解析xml常用的几种方式总结,有需要的朋友可以参考一下

    详解Android中解析XML的方法

    今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。 在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。 SAX解析器: SAX(Simple API ...

    Android编程创建与解析xml的常用方法详解

    其次是解析xml文件,常用的有dom,sax,XmlPullParser等方法,由于sax代码有点复杂,本节只讲解一下dom与XmlPullParser解析,sax我将会在下一节单独讲解,至于几种解析xml的优缺点我就不再讲述了。 为了方便理解,我做...

    Android编程解析XML方法详解(SAX,DOM与PULL)

    今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。 在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。 SAX解析器: SAX(Simple API for...

    解析xml文件

    关于解析xml的几种常见的方法的具体书写

    Android_XML_Demo:Android解析XML格式数据的三种方法

    今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。 在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器。 SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的...

    JQuery解析XML的方法小结

    用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。 第一种方案: [removed] $(document).ready(function() { $.ajax({ url: '...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    在XML文档中,上述几种语句的语法都是错误的。因为: 1.所有的标记都必须要有一个相应的结束标记; 2.所有的XML标记都必须合理嵌套; 3.所有XML标记都区分大小写; 4.所有标记的属性必须用""括起来; 所以上列...

    零基础学Java&cedil;Web开发&nbsp;XML技术基础知识

    本章将对XML基本知识进行详细的分析,然后介绍几种常见的XML文档处理技术,最后用Java对XML文档的解析来结束本章内容的讲解,通过本章的学习,读者将对XML的基础知识有一个比较清楚的认识,并学会使用常见的XML文档...

    jQuery加载及解析XML文件的方法实例分析

    本文实例讲述了jQuery加载及解析XML文件的方法。分享给大家供大家参考,具体如下: 1、简述 XML(eXtensible Markup Language)即可扩展标记语言,与HTML一样,都是属于SGML标准...以下是几种常见语言中设置Content-

    XML操作课程

    该文档比较详细,有几种常用解析xml的技术,也有相对的实例

Global site tag (gtag.js) - Google Analytics