Maison > Article > développement back-end > Exemple de code pour analyser les fichiers XML en Java
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(); } }
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!