Obtenez d'abord : récupérez l'instance d'usine de l'analyseur DOM DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
Ensuite, récupérez l'analyseur DOM de l'usine DOM
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
) Convertissez le document XML à analyser en un flux d'entrée afin que l'analyseur DOM puisse l'analyser
InputStream est= new FileInputStream("test1.xml");
(4) Analyser le flux d'entrée du document XML et obtenir un document
Document doc=dombuilder.parse(is);
(5) Obtenez le nœud racine du document XML
Élément root=doc.getDocumentElement();
(6) Obtenez les nœuds enfants du nœud
NodeList livres=root.getChildNodes();
importer java.io.File ;
importer java.io.FileInputStream ;
importer java.io.InputStream ;
importer javax.xml.parsers.DocumentBuilder ;
importer javax.xml.parsers.DocumentBuilderFactory ;
importer org.w3c.dom.Document ;
importer org.w3c.dom.Element ;
importer org.w3c.dom.Node ;
importer org.w3c.dom.NodeList ;
classe publique XmlReader {
public static void main (String[] arguments) {
Lecteur XmlReader = new XmlReader();
}
public XmlReader(){
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
essayer {
DocumentBuilder domBuilder = domfac.newDocumentBuilder();
InputStream est = new FileInputStream(new File("D:/test1.xml"));
Document doc = domBuilder.parse(est);
Racine de l'élément = doc.getDocumentElement();
NodeList livres = root.getChildNodes();
si(livres!=null){
pour (int i = 0; i < books.getLength(); i++) {
Nœud livre = livres.item(i);
if(book.getNodeType()==Node.ELEMENT_NODE) {
//(7) Récupère la valeur d'attribut du nœud
String email=book.getAttributes().getNamedItem("email").getNodeValue();
System.out.println(email);
// Notez que les propriétés d'un nœud sont également ses nœuds enfants. Son type de nœud est également Node.ELEMENT_NODE
//(8) Parcourez les nœuds enfants
for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()) {
if(node.getNodeType()==Node.ELEMENT_NODE) {
if(node.getNodeName().equals("nom")) {
Nom de la chaîne=node.getNodeValue();
String name1=node.getFirstChild().getNodeValue();
System.out.println(nom);
System.out.println(nom1);
}
if(node.getNodeName().equals("prix")) {
String price=node.getFirstChild().getNodeValue();
System.out.println(prix);
}
}
}
}
}
}
} attraper (Exception e) {
// TODO Bloc catch généré automatiquement
e.printStackTrace();
}
}
}