Primero obtenga: obtenga la instancia de fábrica del analizador DOM DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
Luego obtenga el analizador DOM de la fábrica DOM.
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
) Convierta el documento XML que se va a analizar en un flujo de entrada para que el analizador DOM pueda analizarlo.
InputStream es = nuevo FileInputStream("test1.xml");
(4) Analizar el flujo de entrada del documento XML y obtener un documento
Documento doc=dombuilder.parse(is);
(5) Obtener el nodo raíz del documento XML
Elemento raíz=doc.getDocumentElement();
(6) Obtener los nodos secundarios del nodo
NodeList libros=root.getChildNodes();
importar java.io.File;
importar java.io.FileInputStream;
importar java.io.InputStream;
importar javax.xml.parsers.DocumentBuilder;
importar javax.xml.parsers.DocumentBuilderFactory;
importar org.w3c.dom.Document;
importar org.w3c.dom.Element;
importar org.w3c.dom.Node;
importar org.w3c.dom.NodeList;
clase pública XmlReader {
público estático vacío principal (String [] argumentos) {
Lector XmlReader = nuevo XmlReader();
}
LectorXml público(){
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
intentar {
DocumentBuilder domBuilder = domfac.newDocumentBuilder();
InputStream es = new FileInputStream(new File("D:/test1.xml"));
Documento doc = domBuilder.parse(is);
Raíz del elemento = doc.getDocumentElement();
Libros NodeList = root.getChildNodes();
si(libros!=nulo){
para (int i = 0; i < libros.getLength(); i++) {
Libro de nodo = libros.item(i);
if(book.getNodeType()==Nodo.ELEMENT_NODE) {
//(7) Obtener el valor del atributo del nodo
Cadena correo electrónico=book.getAttributes().getNamedItem("correo electrónico").getNodeValue();
System.out.println(correo electrónico);
//Tenga en cuenta que las propiedades de un nodo también son sus nodos secundarios. Su tipo de nodo también es Node.ELEMENT_NODE
//(8) Recorrer los nodos secundarios
for(Nodo nodo=book.getFirstChild();nodo!=null;nodo=node.getNextSibling()) {
if(nodo.getNodeType()==Nodo.ELEMENT_NODE) {
if(nodo.getNodeName().equals("nombre")) {
Nombre de cadena=nodo.getNodeValue();
Nombre de cadena1=node.getFirstChild().getNodeValue();
System.out.println(nombre);
System.out.println(nombre1);
}
if(nodo.getNodeName().equals("precio")) {
Precio de cadena=node.getFirstChild().getNodeValue();
System.out.println(precio);
}
}
}
}
}
}
} captura (Excepción e) {
// TODO Bloque de captura generado automáticamente
e.printStackTrace();
}
}
}