美文网首页
dom4j 解析 XML

dom4j 解析 XML

作者: 青丝如梦 | 来源:发表于2019-05-09 14:03 被阅读0次

    原文地址:
    https://www.tutorialspoint.com/java_xml/java_dom4j_parse_document.htm

    dependency:

               <dependency>
                   <groupId>dom4j</groupId>
                   <artifactId>dom4j</artifactId>
                   <version>1.6.1</version>
               </dependency>
    
               <dependency>
                   <groupId>jaxen</groupId>
                   <artifactId>jaxen</artifactId>
                   <version>1.1.6</version>
               </dependency>
    

    XML:

    <?xml version = "1.0"?>
    <class>
       <student rollno = "393">
          <firstname>dinkar</firstname>
          <lastname>kad</lastname>
          <nickname>dinkar</nickname>
          <marks>85</marks>
       </student>
       
       <student rollno = "493">
          <firstname>Vaneet</firstname>
          <lastname>Gupta</lastname>
          <nickname>vinni</nickname>
          <marks>95</marks>
       </student>
       
       <student rollno = "593">
          <firstname>jasvir</firstname>
          <lastname>singn</lastname>
          <nickname>jazz</nickname>
          <marks>90</marks>
       </student>
    </class>
    

    Java:

    package com.tutorialspoint.xml;
    
    import java.io.File;
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.Node;
    import org.dom4j.io.SAXReader;
    
    public class DOM4JParserDemo {
    
       public static void main(String[] args) {
    
          try {
             File inputFile = new File("input.txt");
             SAXReader reader = new SAXReader();
             Document document = reader.read( inputFile );
    
             System.out.println("Root element :" + document.getRootElement().getName());
    
             Element classElement = document.getRootElement();
    
             List<Node> nodes = document.selectNodes("/class/student" );
             System.out.println("----------------------------");
             
             for (Node node : nodes) {
                System.out.println("\nCurrent Element :"
                   + node.getName());
                System.out.println("Student roll no : " 
                   + node.valueOf("@rollno") );
                System.out.println("First Name : "
                   + node.selectSingleNode("firstname").getText());
                System.out.println("Last Name : "
                   + node.selectSingleNode("lastname").getText());
                System.out.println("First Name : "
                   + node.selectSingleNode("nickname").getText());
                System.out.println("Marks : "
                   + node.selectSingleNode("marks").getText());
             }
          } catch (DocumentException e) {
             e.printStackTrace();
          }
       }
    }
    

    输出:

    Root element :class
    ----------------------------
    
    Current Element :student
    Student roll no : 
    First Name : dinkar
    Last Name : kad
    First Name : dinkar
    Marks : 85
    
    Current Element :student
    Student roll no : 
    First Name : Vaneet
    Last Name : Gupta
    First Name : vinni
    Marks : 95
    
    Current Element :student
    Student roll no : 
    First Name : jasvir
    Last Name : singn
    First Name : jazz
    Marks : 90
    

    相关文章

      网友评论

          本文标题:dom4j 解析 XML

          本文链接:https://www.haomeiwen.com/subject/dzjwoqtx.html