📜  Java DOM 中的文档对象是什么?(1)

📅  最后修改于: 2023-12-03 15:15:55.832000             🧑  作者: Mango

Java DOM 中的文档对象是什么?

在Java中,DOM(文档对象模型)是一种处理XML文档的标准API。DOM允许开发人员在内存中构建XML文档,并提供了一组用于访问和操作XML文档的标准技术。

文档对象是 DOM 中的核心概念之一。文档对象是整个XML文档的建模,它包含XML文档中的每个元素(如节点、属性、文本等)。在Java中,使用 Document 对象来表示文档对象。

Document 对象拥有以下特性:

  • 表示一个整个XML文档的模型
  • 通过DOM API提供访问和处理XML文档的方法
  • 可以通过读取XML文件或创建新的文档来构建 Document 对象
  • 在内存中表示整个文档,访问其中的节点和元素非常快速

Document 对象提供了许多方法来访问和操作XML文档。下面是一些常用的方法:

  • createElement(name):创建一个指定名称的元素节点
  • createAttribute(name):创建一个指定名称的属性节点
  • getElementsByTagName(name):返回指定名称的所有元素节点的列表
  • getElementById(id):返回拥有指定 id 属性的元素节点
  • getChildNodes():返回当前节点的所有子节点

下面是一个简单的示例,其中使用 Document 对象创建一个XML文档:

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class XMLCreator {

   public static void main(String[] args) throws Exception {
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
      Document doc = dBuilder.newDocument();

      // 创建根元素
      Element rootElement = doc.createElement("students");
      doc.appendChild(rootElement);

      // 创建子元素
      Element student = doc.createElement("student");
      rootElement.appendChild(student);

      // 添加属性
      student.setAttribute("id", "1");

      // 创建子元素并赋值
      Element name = doc.createElement("name");
      name.appendChild(doc.createTextNode("Tom"));
      student.appendChild(name);

      // 将文档写入文件
      TransformerFactory transformerFactory = TransformerFactory.newInstance();
      Transformer transformer = transformerFactory.newTransformer();
      DOMSource source = new DOMSource(doc);
      StreamResult result = new StreamResult(new File("students.xml"));
      transformer.transform(source, result);

      System.out.println("文档已创建!");
   }
}

在上面的示例中,通过创建 Document 对象来创建一个XML文档,并使用各种方法来添加元素、属性和文本。最后,将文档输出到文件中。

综上所述,文档对象是 Java DOM 中表示整个XML文档的模型,是操作和处理XML文档的基础。