xml
代码
package 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.File;
import java.io.IOException;
/**
* @Author: Yilia
* @Date: 2021/12/7
*/
public class ReadXmlFile {
public static void main(String[] args) {
File file = new File("C:\\Users\\admin\\Desktop\\XMLTest\\bookdemo.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
Document document = null;
try {
document = builder.parse(file);
} catch (SAXException | IOException e) {
e.printStackTrace();
}
NodeList nodeList = document.getElementsByTagName("book");
System.out.println("book合计:" + nodeList.getLength() + "本");
System.out.println("====================================");
for (int i = 0; i < nodeList.getLength(); i++) {
System.out.println("=============遍历第" + (i + 1) + "本书=============");
Node node = nodeList.item(i);
NamedNodeMap attributes = node.getAttributes();
System.out.println("第" + (i + 1) + "本书有" + attributes.getLength() + "条属性");
for (int j = 0; j < attributes.getLength(); j++) {
Node item = attributes.item(j);
System.out.println("第" + (j + 1) + "个属性属性名:" + item.getNodeName() + ";属性值:" + item.getNodeValue());
}
NodeList childNodes = node.getChildNodes();
System.out.println("第" + (i + 1) + "本书有" + childNodes.getLength() + "个节点");
for (int k = 0; k < childNodes.getLength(); k++) {
Node item = childNodes.item(k);
if (item.getNodeType() == Node.ELEMENT_NODE) {
System.out.println("第" + (k + 1) + "个节点" + item.getNodeName() + ":" + item.getTextContent());
}
}
System.out.println("=============结束第" + (i + 1) + "本书=============");
}
System.out.println("====================================");
}
}