通过构建DOM解析器解析简单XML文件
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
public class ReadXML {
public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse("CreateXML.xml");
NodeList bookList = document.getElementsByTagName("book");
for (int i = 0; i < bookList.getLength(); i++) {
Node book = bookList.item(i);
NamedNodeMap attrs = book.getAttributes();
for (int j = 0; j < attrs.getLength(); j++) {
Node attr = attrs.item(j);
System.out.print("属性名:" + attr.getNodeName());
System.out.println("属性值:" + attr.getNodeValue());
}
NodeList childNodes = book.getChildNodes();
// System.out.println("" + (i+1) + "" + childNodes.getLength() + "");
for (int k = 0; k < childNodes.getLength(); k++) {
if (childNodes.item(k).getNodeType() == Node.ELEMENT_NODE) {
System.out.print("第" + (k + 1) + "个节点名:" + childNodes.item(k).getNodeName());
System.out.println(" 节点值:" + childNodes.item(k).getFirstChild().getNodeValue());
}
}
}
}
}