Сначала получите: получите экземпляр фабрики парсера DOM DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
Затем получите парсер DOM с фабрики DOM.
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
) Преобразуйте XML-документ, подлежащий анализу, во входной поток, чтобы анализатор DOM мог его проанализировать.
InputStream = новый FileInputStream("test1.xml");
(4) Проанализируйте входной поток XML-документа и получите документ.
Документ doc=dombuilder.parse(is);
(5) Получите корневой узел XML-документа.
Элемент root=doc.getDocumentElement();
(6) Получить дочерние узлы узла
NodeList book=root.getChildNodes();
импортировать java.io.File;
импортировать java.io.FileInputStream;
импортировать java.io.InputStream;
импортировать javax.xml.parsers.DocumentBuilder;
импортировать javax.xml.parsers.DocumentBuilderFactory;
импортировать org.w3c.dom.Document;
импортировать org.w3c.dom.Element;
импортировать org.w3c.dom.Node;
импортировать org.w3c.dom.NodeList;
общественный класс XmlReader {
public static void main(String[] args) {
Читатель XmlReader = новый XmlReader();
}
общественный XmlReader(){
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
пытаться {
DocumentBuilder domBuilder = domfac.newDocumentBuilder();
InputStream = новый FileInputStream(new File("D:/test1.xml");
Документ документа = domBuilder.parse(is);
Корень элемента = doc.getDocumentElement();
Книги NodeList = root.getChildNodes();
если(книги!=ноль){
for (int i = 0; i <books.getLength(); i++) {
Узел книги = book.item(i);
if(book.getNodeType()==Node.ELEMENT_NODE) {
//(7) Получаем значение атрибута узла
Строка email=book.getAttributes().getNamedItem("email").getNodeValue();
System.out.println(электронная почта);
//Обратите внимание, что свойства узла также являются его дочерними узлами. Тип его узла также Node.ELEMENT_NODE.
//(8) Циклическое перебор дочерних узлов
for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()) {
if(node.getNodeType()==Node.ELEMENT_NODE) {
if(node.getNodeName().equals("имя")) {
Имя строки = node.getNodeValue();
Имя строки1=node.getFirstChild().getNodeValue();
System.out.println(имя);
System.out.println(имя1);
}
if(node.getNodeName().equals("цена")) {
Строковая цена = node.getFirstChild().getNodeValue();
System.out.println(цена);
}
}
}
}
}
}
} catch (Исключение е) {
// TODO Автоматически сгенерированный блок catch
е.printStackTrace();
}
}
}