zoukankan      html  css  js  c++  java
  • Dom 解析XML

    xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <data>
        
    <book id="1">
            
    <name>Android应用开发详解</name>
            
    <author>json</author>
            
    <price>88</price>
            
    <pubinfo>人民邮电出版社</pubinfo>
        
    </book>
        
    <book id="2">
            
    <name>Android权威指南</name>
            
    <author>tom</author>
            
    <price>79</price>
            
    <pubinfo>人民教育出版社</pubinfo>
        
    </book>
        
    <book id="3">
            
    <name>Android开发案例大全</name>
            
    <author>mark</author>
            
    <price>68</price>
            
    <pubinfo>电子工业出版社</pubinfo>
        
    </book>
        
    <book id="4">
            
    <name>Android从入门到精通</name>
            
    <author>jack</author>
            
    <price>68</price>
            
    <pubinfo>电子工业出版社</pubinfo>
        
    </book>
        
    <book id="5">
            
    <name>Pro Spring</name>
            
    <author>mark</author>
            
    <price>68</price>
            
    <pubinfo>电子工业出版社</pubinfo>
        
    </book>
    </data>

    解析类

    package com.dom;

    import java.io.File;
    import java.io.IOException;

    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.NodeList;
    import org.xml.sax.SAXException;

    /**
     * <pre>
     * dom解析xml
     * <pre>
     * 
    @author scott
     *
     
    */
    public class DomXmlParser {

        
    public static void main(String[] args) {
            DocumentBuilderFactory factory
    =DocumentBuilderFactory.newInstance();
            File file
    =new File("D:\workspace\demo\src\books.xml");
            DocumentBuilder documentBuilder
    =null;
            
    try {
                documentBuilder 
    = factory.newDocumentBuilder();
            } 
    catch (ParserConfigurationException e) {
                e.printStackTrace();
            }
            Document document
    =null;
            
    try {
                document
    =documentBuilder.parse(file);
            } 
    catch (SAXException e) {
                e.printStackTrace();
            } 
    catch (IOException e) {
                e.printStackTrace();
            }
            
            Element element
    =document.getDocumentElement();
            NodeList nodeList
    =element.getElementsByTagName("book");
            
    for (int i = 0; i < nodeList.getLength(); i++) {
                Element book 
    = (Element)nodeList.item(i);
                String id
    =book.getAttribute("id");
                
                Element bookname
    =(Element) book.getElementsByTagName("name").item(0);
                String name
    =bookname.getFirstChild().getNodeValue();
                
                Element bookauthor
    =(Element) book.getElementsByTagName("author").item(0);
                String author
    =bookauthor.getFirstChild().getNodeValue();
                
                Element bookprice
    =(Element) book.getElementsByTagName("price").item(0);
                String price
    =bookprice.getFirstChild().getNodeValue();
                
                Element bookpubinfo
    =(Element) book.getElementsByTagName("pubinfo").item(0);
                String pubinfo
    =bookpubinfo.getFirstChild().getNodeValue();
                
                System.out.println(id
    +","+name+","+author+","+price+","+pubinfo);
                
            }
            
            
            
        }

    }

    效果
    1,Android应用开发详解,json,88,人民邮电出版社
    2,Android权威指南,tom,79,人民教育出版社
    3,Android开发案例大全,mark,68,电子工业出版社
    4,Android从入门到精通,jack,68,电子工业出版社
    5,Pro Spring,mark,68,电子工业出版社

  • 相关阅读:
    BZOJ 3390 Bad Cowtractors牛的报复
    BZOJ 4291 Kieszonkowe
    【重温基础】3.循环和迭代
    【重温基础】3.循环和迭代
    【重温基础】2.流程控制和错误处理
    【重温基础】2.流程控制和错误处理
    【重温基础】1.语法和数据类型
    【重温基础】1.语法和数据类型
    vue axios全攻略
    vue axios全攻略
  • 原文地址:https://www.cnblogs.com/stephen-init/p/3260174.html
Copyright © 2011-2022 走看看