示例示例DOM解析:DOM解析器是一种树形API,它将XML文档加载到内存中,并允许程序员使用DOM API来查询和操作XML文档。示例代码:
1. DOM解析:DOM解析器是一种树形API,它将XML文档加载到内存中,并允许程序员使用DOM API来查询和操作XML文档。
示例代码:
import javax.xml.prs.DocumentBuilder;
import javax.xml.prs.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomPrDemo {
public static void main(String[] args) {
try {
// 创建DOM文档对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.p("books.xml");
// 获取所有book节点的集合
NodeList nl = doc.getElementsByTagName("book");
// 遍历所有book节点
for (int i = 0; i < nl.getLength(); i++) {
System.out.println("=================开始遍历第" + (i + 1) + "本书的内容=================");
// 通过item(i)方法获取一个book节点,nodelist的索引值从0开始
Node book = nl.item(i);
// 获取book节点的所有属性集合
NamedNodeMap attrs = book.getAttributes();
System.out.println("第 " + (i + 1) + "本书共有" + attrs.getLength() + "个属性");
// 遍历book的属性
for (int j = 0; j < attrs.getLength(); j++) {
// 通过item(index)方法获取book节点的某一个属性
Node attr = attrs.item(j);
// 获取属性名
System.out.print("属性名:" + attr.getNodeName());
// 获取属性值
System.out.println("--属性值" + attr.getNodeValue());
}
// 解析book节点的子节点
NodeList childNodes = book.getChildNodes();
// 遍历childNodes获取每个节点的节点名和节点值
System.out.println("第" + (i+1) + "本书共有" +
childNodes.getLength() + "个子节点");
for (int k = 0; k < childNodes.getLength(); k++) {
// 区分出text类型的node以及element类型的node
if (childNodes.item(k).getNodeType() == Node.ELEMENT_NODE
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(51条)