使用JDOM解析xml文檔


一、使用JDOOM解析xml文檔

准備工作

1.下載JDOM.jar 包

解析代碼如下

import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;


public class Main {

    public static void main(String[] args) throws Exception {

        //創建一個解析器
        SAXBuilder builder=new SAXBuilder();

        //創建一個文件輸入流
        InputStream in=new FileInputStream("src/server.xml");

        //將流加載到解析器中。
        Document document=builder.build(in);

        //獲取文檔的根節點
        Element rootElement=document.getRootElement();

        //將根節點的所有子節點獲取放到一個集合中
        List<Element> list=rootElement.getChildren();

        //循環遍歷所有子節點
        for(Element element:list){
            System.out.println("開始遍歷第"+(list.indexOf(element)+1)+"本書======");

            //獲取所有的屬性並遍歷輸出
            List<Attribute> list1=element.getAttributes();
            for(Attribute attr:list1){
                System.out.println("屬性名是"+attr.getName());
                System.out.println("屬性值是"+attr.getValue());
            }
            System.out.println("結束遍歷第"+(list.indexOf(element)+1)+"本書======");
        }
    }
}

二、使用DOM4J解析xml文檔

准備工作:

1.下載導入DOM4J的jar包,代碼如下:

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.File;
import java.util.Iterator;
import java.util.List;


public class Main {

    public static void main(String[] args) throws Exception {

        //創建一個解析器
        SAXReader saxReader=new SAXReader();

        //加載文檔到dom中,注意是dom4j中的dom
        Document document=saxReader.read(new File("src/server.xml"));

        //獲取文檔的根節點
        Element bookStore=document.getRootElement();

        //獲取根節點的迭代器
        Iterator iter=bookStore.elementIterator();

        //迭代根節點下面的子節點
        while(iter.hasNext()){
            System.out.println("開始遍歷謀一本書=========");
            Element book=(Element)iter.next();

            //獲取節點的屬性集合
            List<Attribute> bookAttr=book.attributes();

            //遍歷屬性集合
            for(Attribute attr:bookAttr){
                System.out.println("屬性名:"+attr.getName()+"====屬性值:"+attr.getValue());
            }

            //獲取子節點book的子節點迭代器
            Iterator iterator=book.elementIterator();
            while(iterator.hasNext()){
                Element child=(Element)iterator.next();
                System.out.println("節點名:"+child.getName()+"==節點值:"+child.getStringValue());
            }
            System.out.println("結束遍歷謀一本書=========");
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM