Heim  >  Artikel  >  Backend-Entwicklung  >  Codebeispiel zum Parsen von XML-Dateien in Java

Codebeispiel zum Parsen von XML-Dateien in Java

Y2J
Y2JOriginal
2017-04-27 13:19:242440Durchsuche

Bei der Verwendung von Java zum Parsen von XML-Dokumenten gibt es zwei am häufigsten verwendete Methoden: die Verwendung der ereignisbasierten XML Simple API (Simple API for XML) namens SAX und des baum- und knotenbasierten Document Object Model (Document Object Module). namens DOM.

Sun stellt die Java API for XML Parsing (JAXP)-Schnittstelle zur Verwendung von SAX und DOM bereit. Über JAXP können wir jeden JAXP-kompatiblen XML-Parser verwenden. Die JAXP-Schnittstelle enthält drei Pakete:

org.w3c.dom Die vom W3C empfohlene Schnittstelle für das XML-Standard-Planungsdokumentobjektmodell.

org.xml.sax Ereignisgesteuerte XML-Simple-API (SAX) zum Parsen von XML

javax.xml.parsers Parser-Factory-Tool, Programmierer erhalten und konfigurieren einen speziellen 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(); 
    }     
}

Das obige ist der detaillierte Inhalt vonCodebeispiel zum Parsen von XML-Dateien in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn