Exemple de code pour analyser les fichiers XML en Java

Y2J
Libérer: 2017-04-27 13:19:24
original
2446 Les gens l'ont consulté

En utilisant Java pour analyser des documents XML, il existe deux méthodes les plus couramment utilisées : l'utilisation de l'API simple XML basée sur les événements (API simple pour XML) appelée SAX et le modèle d'objet de document basé sur une arborescence et des nœuds (module d'objet de document) appelé DOM.

Sun fournit l'interface Java API for XML Parsing (JAXP) pour utiliser SAX et DOM. Grâce à JAXP, nous pouvons utiliser n'importe quel analyseur XML compatible JAXP. L'interface JAXP contient trois packages :

org.w3c.dom L'interface recommandée par le W3C pour le modèle objet du document de planification standard XML.

org.xml.sax API simple XML basée sur les événements (SAX) pour l'analyse XML

javax.xml.parsers outil d'usine d'analyseur, les programmeurs obtiennent et configurent un analyseur spécial spécial.

analyseur XML Java

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(); 
    }     
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal