1. 程式人生 > >XML的解析方式3——JDOM方式解析

XML的解析方式3——JDOM方式解析

XML的解析方式

  1. DOM解析
  2. SAX解析
  3. JDOM解析

JDOM解析方式

【優點】

  1. 使用具體類而不是介面,簡化了DOM的API。
  2. 大量使用了Java集合類,方便了Java開發人員。

【缺點】

  1. 沒有較好的靈活性。
  2. 效能較差。

相關程式碼

  1. XmlDocument介面
package com.vincient.test;

/**
 * @Author: Vincient
 * @Description:
 * @Date: 2018/十月/30
 **/
public interface XmlDocument {
    public void parseXml(String fileName)
; }
  1. JDomDemo類
package com.vincient.test;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

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

/**
 * @Author: Vincient
 * @Description:
 * @Date: 2018/十一月/02
 **/
public class JDomDemo implements
XmlDocument { @Override public void parseXml(String fileName) { SAXBuilder builder = new SAXBuilder(); try { Document document = builder.build(fileName); Element users = document.getRootElement(); List userList = users.getChildren("user")
; for (int i = 0; i < userList.size(); i++) { Element user = (Element) userList.get(i); List userInfo = user.getChildren(); for (int j = 0; j < userInfo.size(); j++) { System.out.println(((Element) userInfo.get(j)).getName() + ":" + ((Element) userInfo.get(j)).getValue()); } System.out.println(); } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { JDomDemo jDomDemo = new JDomDemo(); jDomDemo.parseXml("此處為檔案uri"); } }
  1. user.xml
<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user id="0">
        <name>Alexia</name>
        <age>23</age>
        <sex>Female</sex>
    </user>
    <user id="1">
        <name>Edward</name>
        <age>24</age>
        <sex>Male</sex>
    </user>
    <user id="2">
        <name>wjm</name>
        <age>23</age>
        <sex>Female</sex>
    </user>
    <user id="3">
        <name>wh</name>
        <age>24</age>
        <sex>Male</sex>
    </user>
</users>