org.w3c.dom.Document
是 Java 中处理 XML 文档的一个接口,属于 W3C DOM(文档对象模型) API。它提供了许多方法来解析、操作和创建 XML 文档。以下是 Document
类中一些常用方法及其用法:
1. getDocumentElement()
- 用法: 返回文档的根元素(
Element
)。 - 示例:
Document doc = ...; // 假设已经创建或解析了一个 Document Element root = doc.getDocumentElement(); System.out.println("Root element: " + root.getTagName());
2. createElement(String tagName)
- 用法: 创建一个指定标签名的元素节点,但并未添加到文档中。
- 示例:
Element newElement = doc.createElement("person");
3. createTextNode(String data)
- 用法: 创建一个文本节点,通常用来为元素添加文本内容。
- 示例:
Text textNode = doc.createTextNode("Hello, World!");
4. appendChild(Node newChild)
- 用法: 将新节点作为子节点追加到当前节点的子节点列表中。
- 示例:
Element newElement = doc.createElement("greeting"); Text textNode = doc.createTextNode("Hello, World!"); newElement.appendChild(textNode); doc.getDocumentElement().appendChild(newElement);
5. getElementsByTagName(String tagName)
- 用法: 返回具有指定标签名的所有元素的
NodeList
。 - 示例:
NodeList nodeList = doc.getElementsByTagName("person"); for (int i = 0; i < nodeList.getLength(); i++) { Element person = (Element) nodeList.item(i); System.out.println(person.getTagName()); }
6. importNode(Node importedNode, boolean deep)
- 用法: 从另一个文档导入节点,可以选择深度导入(递归包含所有子节点)。
- 示例:
Document anotherDoc = ...; // 假设有另一个 Document Node importedNode = doc.importNode(anotherDoc.getDocumentElement(), true); doc.getDocumentElement().appendChild(importedNode);
7. createAttribute(String name)
- 用法: 创建一个新属性节点。
- 示例:
Attr newAttr = doc.createAttribute("id"); newAttr.setValue("123");
8. getElementById(String elementId)
- 用法: 根据指定的 ID 返回对应的元素节点。
- 示例:
Element element = doc.getElementById("uniqueId"); if (element != null) { System.out.println("Found element with ID: " + element.getTagName()); }
这些方法提供了对 XML 文档的基础操作能力,常用于解析和操作 XML 文件中的数据。需要注意的是,在使用 getElementById
方法时,文档必须通过 DTD 或 Schema 指定了 ID 类型的属性。