dom4j讀寫xml文件方法和具體實現代碼(提供jar包下載)

dom4j是一個Java的XML API,類似於jdom,用來讀寫XML文件的。dom4j是一個十分優秀的JavaXML
API,具有性能優異、功能強大和極其易使用的特點,同時它也是一個開放源代碼的軟件,可以在SourceForge上找到它。

1.下載dom4j的jar包
我分享的一個dom4j1.6.1,下載該jar包,
http://yunpan.cn/cHgk37CzkUFTM 訪問密碼 1072

2.寫xml文件
示例代碼:

public String createXML(){
            String strXML = null;
            Document document = DocumentHelper.createDocument();
            Element root = document.addElement("USERRST");

            Element head = root.addElement("HEAD");
            Element code = head.addElement("CODE");
            code.addText("000");
            Element sid = head.addElement("SID");
            sid.addText("000");
            Element timestamp = head.addElement("TIMESTAMP");
            timestamp.addText("YYYYMMDDHH24MMSS");
            Element serviceId = head.addElement("SERVICEID");
            serviceId.addText("應用標識");

            Element body = root.addElement("BODY");
            Element rsp = body.addElement("RSP");
            rsp.addText("返回結果代碼");
            Element mainacctId = body.addElement("MAINACCTID");
            mainacctId.addText("當前主帳號");
            Element appacctId = body.addElement("APPACCTID");
            appacctId.addText("從帳號登錄名");

            StringWriter strWtr = new StringWriter();
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("UTF-8");
            XMLWriter xmlWriter =new XMLWriter(strWtr, format);
            try {
                xmlWriter.write(document);
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            strXML = strWtr.toString();

            return strXML;
        }

所寫的xml如下:

<?xml version="1.0" encoding="UTF-8"?>

<USERRST>
  <HEAD>
    <CODE>000</CODE>
    <SID>000</SID>
    <TIMESTAMP>YYYYMMDDHH24MMSS</TIMESTAMP>
    <SERVICEID>應用標識</SERVICEID>
  </HEAD>
  <BODY>
    <RSP>返回結果代碼</RSP>
    <MAINACCTID>當前主帳號</MAINACCTID>
    <APPACCTID>從帳號登錄名</APPACCTID>
  </BODY>
</USERRST>

3.讀取xml的內容
讀取上面的xml源代碼:

 public void parserXML(String strXML){
            SAXReader reader = new SAXReader();
            StringReader sr = new StringReader(strXML);
            InputSource is = new InputSource(sr);
            try {
                Document document = reader.read(is);
                Element root = document.getRootElement();

                Element head = root.element("HEAD");
                List<Element> headChildList = head.elements();
                for (Element headChild:headChildList){
                    System.out.println(headChild.getName()+"="+headChild.getText());
                }

                Element body = root.element("BODY");
                List<Element> bodyChildList = body.elements();
                for (Element bodyChild:bodyChildList){
                    System.out.println(bodyChild.getName()+"="+bodyChild.getText());
                }

                System.out.println("********************");
                Element code = head.element("CODE");
                System.out.println(code.getName()+"="+code.getText());

            } catch (DocumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

結果如下:
CODE=000
SID=000
TIMESTAMP=YYYYMMDDHH24MMSS
SERVICEID=應用標識
RSP=返回結果代碼
MAINACCTID=當前主帳號
APPACCTID=從帳號登錄名
CODE=000

我在項目中用到的dom4j相關的操作也就這麼多了,在此做個簡單的記錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章