Home  >  Article  >  Backend Development  >  Code example for parsing XML files in Java

Code example for parsing XML files in Java

Y2J
Y2JOriginal
2017-04-27 13:19:242454browse

Using Java to parse XML documents, there are two most commonly used methods: using event-based XML Simple API (Simple API for XML) called SAX and tree- and node-based Document Object Model (Document Object Module) called DOM .

Sun provides a Java API for XML Parsing (JAXP) interface to use SAX and DOM. Through JAXP, we can use any JAXP-compatible XML parser. The JAXP interface contains three packages:

org.w3c.dom The interface recommended by W3C for the XML standard planning document object model.

org.xml.sax Event-driven XML Simple API (SAX) for parsing XML

javax.xml.parsers parser factory tool that programmers obtain and configure special special parser.

java XML parser

import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.io.InputStream; 
import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import javax.xml.parsers.ParserConfigurationException; 
import org.w3c.dom.Document; 
import org.w3c.dom.Element; 
import org.w3c.dom.Node; 
import org.w3c.dom.NodeList; 
import org.xml.sax.SAXException; 
 
public class DomParse { 
    public DomParse(){ 
 
        DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance(); 
 
        try { 
            DocumentBuilder dombuilder=domfac.newDocumentBuilder(); 
            InputStream is=new FileInputStream("WebRoot/WEB-INF/hell.xml"); 
            Document doc=dombuilder.parse(is); 
            Element root=doc.getDocumentElement(); 
            NodeList books=root.getChildNodes(); 
 
            if(books!=null){ 
                for(int i=0;i<books.getLength();i++){ 
                    Node book=books.item(i); 
                    if(book.getNodeType()==Node.ELEMENT_NODE){ 
                        String email=book.getAttributes().getNamedItem("email").getNodeValue(); 
                        System.out.println(email); 
                        for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()){ 
                            if(node.getNodeType()==Node.ELEMENT_NODE){ 
                                if(node.getNodeName().equals("name")){ 
                                    String name=node.getNodeValue(); 
                                    String name1=node.getFirstChild().getNodeValue(); 
                                    System.out.println(name); 
                                    System.out.println(name1); 
                                } 
 
                                if(node.getNodeName().equals("price")){ 
                                    String price=node.getFirstChild().getNodeValue(); 
                                    System.out.println(price); 
                                } 
                            } 
                        } 
                    } 
                } 
            } 
        } catch (ParserConfigurationException e) { 
            e.printStackTrace(); 
       } catch (FileNotFoundException e) { 
             e.printStackTrace(); 
        } catch (SAXException e) { 
            e.printStackTrace(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    } 
 
    public static void main(String[] args)  
    { 
        new DomParse(); 
    }     
}

The above is the detailed content of Code example for parsing XML files in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn