DOM 4 Jを使用したXMLの解析


DOM 4 j解析XMLはJavaが公式に提供するツールではなく、DOM 4 jを使用してXMLを解析するのは比較的簡単で、依存を導入する必要があります.

     dom4j
     dom4j
     1.1


 簡単なテストクラステストの下で、使用したxmlは前のdemo.xmlですか?
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;
import java.util.ListIterator;

public class Dom4jParseXml {

    public static void main(String[] args) {
        SAXReader saxReader = new SAXReader();
        try {
            //     
            //     demo.xml  resources   ,          
            //InputStream resourceAsStream = Dom4jParseXml .class.getClassLoader().getResourceAsStream("demo.xml");
            Document document = saxReader.read(new File("D:/demo.xml"));
            //  xml   
            Element rootElement = document.getRootElement();
            List elements = rootElement.elements();

            ListIterator elementListIterator = elements.listIterator();
            while (elementListIterator.hasNext()) {
                Element next = elementListIterator.next();
                List attributes = next.attributes();
                for (Attribute attribute : attributes) {
                    System.out.println(attribute.getName() + ":" + attribute.getValue());
                }
                Iterator iterator = next.elementIterator();
                while (iterator.hasNext()) {
                    Element element1 = (Element) iterator.next();
                    System.out.println(element1.getName() + ":" + element1.getStringValue());
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

次に、解析したデータをオブジェクトにカプセル化する必要があります.出力結果は以下の通りです.
   =id,   =person1
   =name,   =simons
   =sex,   = 
   =age,   =24
   =address,   =  
   =id,   =person2
   =name,   =rose
   =sex,   = 
   =age,   =22
   =address,   =  

引用読書:
SAXを使用してXMLを解析するには:https://blog.csdn.net/fanrenxiang/article/details/81098041
JDOMを使用してXMLを解析するには:https://blog.csdn.net/fanrenxiang/article/details/81100740
DOMを使用してXMLを解析するには:https://blog.csdn.net/fanrenxiang/article/details/81078854