Primeiro obtenha: Obtenha a instância de fábrica do analisador DOM DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
Em seguida, obtenha o analisador DOM da fábrica DOM
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
) Converta o documento XML a ser analisado em um fluxo de entrada para que o analisador DOM possa analisá-lo
InputStream é = novo FileInputStream("test1.xml");
(4) Analise o fluxo de entrada do documento XML e obtenha um Documento
Documento doc=dombuilder.parse(is);
(5) Obtenha o nó raiz do documento XML
Elemento root=doc.getDocumentElement();
(6) Obtenha os nós filhos do nó
NodeList books=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;
classe pública XmlReader{
public static void main(String[] args) {
Leitor XmlReader = new XmlReader();
}
publicXmlReader(){
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
tentar {
DocumentBuilder domBuilder = domfac.newDocumentBuilder();
InputStream é = new FileInputStream(new File("D:/test1.xml"));
Documento doc = domBuilder.parse(is);
Raiz do elemento = doc.getDocumentElement();
Livros NodeList = root.getChildNodes();
if(livros!=nulo){
for (int i = 0; i < books.getLength(); i++) {
Nó livro = livros.item(i);
if(book.getNodeType()==Node.ELEMENT_NODE) {
//(7) Obtenha o valor do atributo do nó
String email=book.getAttributes().getNamedItem("email").getNodeValue();
System.out.println(e-mail);
//Observe que as propriedades de um nó também são seus nós filhos. Seu tipo de nó também é Node.ELEMENT_NODE
//(8) Percorrer os nós filhos
for(Nó node=book.getFirstChild();node!=null;node=node.getNextSibling()) {
if(node.getNodeType()==Node.ELEMENT_NODE) {
if(node.getNodeName().equals("nome")) {
String nome=node.getNodeValue();
String nome1=node.getFirstChild().getNodeValue();
System.out.println(nome);
System.out.println(nome1);
}
if(node.getNodeName().equals("preço")) {
String preço=node.getFirstChild().getNodeValue();
System.out.println(preço);
}
}
}
}
}
}
} catch (Exceção e) {
// TODO Bloco catch gerado automaticamente
e.printStackTrace();
}
}
}