Java JDOM 文档类



Java JDOM Document 类表示一个 XML 文档。此类提供各种方法来访问根元素、文档类型定义 (DTD)、XML 命名空间和文档级内容对象。

org.jdom2 包包含 Document 类。此类实现 Parent 接口并继承 java.lang.Object 类。Document 类将根元素内的所有内容视为单个内容对象。

使用 Document 类的方法,我们可以添加、修改、删除 XML 文档中的内容对象。内容对象包括处理指令、文档类型定义、注释和根元素。

Document 类的构造函数

要创建 Document 对象,Document 类提供以下默认和参数化构造函数:

  • Document() - 创建空文档的默认构造函数。
  • Document(Element rootElement) - 创建具有指定根元素的新 Document 对象。
  • Document(Element rootElement, DocType docType) - 创建具有指定根元素和文档类型定义的新 Document。
  • Document(Element rootElement, DocType docType, java.lang.String baseURI) - 创建具有指定根元素、文档类型定义和 BaseURI 的新 Document。
  • Document(java.util.List<? extends Content> content) - 使用提供的列表的内容对象创建新的 Document。

创建 XML 文档

使用上述构造函数,我们可以创建 XML 文档。这是一个使用默认构造函数和参数化构造函数创建两个 XML 文档的 Java 程序。

import org.jdom2.Document;
import org.jdom2.Element;

public class CreateDocument {
   public static void main(String args[]) {
      try {	
    	  
    	 //Using default constructor
	     Document doc1 = new Document();
	     System.out.println(doc1);
	     
	     //Using parameterized constructor
	     Document doc2 = new Document(new Element("book"));
	     System.out.println(doc2);
	     
      } catch (Exception e) { 
    	 e.printStackTrace();
      }
   }
}

输出窗口显示使用构造函数创建的两个文档。

[Document:  No DOCTYPE declaration,  No root element]
[Document:  No DOCTYPE declaration, Root is [Element: <book/>]]

根元素的操作

根元素是任何 XML 文档的主要组成部分,没有它我们就无法在 XML 文档中插入任何其他元素信息。Document 类提供以下方法来对根元素执行操作。

方法 描述
getRootElement() 检索 XML 文档的根元素。
detachRootElement() 分离 XML 文档的根元素。
hasRootElement() 检查 XML 文档中是否存在根元素。
setRootElement() 设置或更新 XML 文档的根元素。

检索 XML 内容

要从 XML 文档检索文档级信息,Document 类提供以下方法:

方法 描述
getDocType() 返回 XML 文档的 DocType 声明。
getBaseURI() 返回 XML 文档的 BaseURI。
getContentSize() 返回 XML 文档中内容对象的个数。
getContent() 返回文档的内容对象。
indexOf(Content child) 返回 Content 对象的索引。
cloneContent() 返回 XML 文档的内容对象列表。
getDescendants() 返回 XML 文档的所有后代。

添加和删除 XML 内容

要向 XML 文档添加和删除内容对象,Document 类具有以下方法:

方法 描述
addContent() 向 XML 文档添加内容对象。
removeContent() 从 XML 文档中删除内容对象。

更新 XML 内容

Document 类提供以下方法来修改 XML 文档中的内容。如果内容对象已存在,这些方法会替换它们;否则,它们会插入新的内容对象。

方法 描述
setBaseURI() 设置或更新 XML 文档的 BaseURI。
setDocType() 设置或更新 XML 文档的 DocType。
setContent() 设置或更新 XML 文档的内容对象。

获取 XML 命名空间

可以使用 Document 类的以下方法获取 XML 文档中使用的所有命名空间:

方法 描述
getNamespacesInherited() 返回不在当前 XML 文档中引入的所有继承的 XML 命名空间的列表。
getNamespacesInScope() 返回此文档范围内所有 XML 命名空间的列表。
getNamespacesIntroduced() 返回当前文档中引入的所有 XML 命名空间的列表。

获取 XML 文档的副本

要创建现有 XML 文档的更多实例,Document 类提供以下方法:

方法 描述
getDocument() 返回当前 XML 文档的实例。
clone() 返回 XML 文档的深层克隆。

其他方法

以下是 Document 类的一些具有不同功能的其他方法:

方法 描述
toString() 将 XML 文档作为字符串返回。
hashCode() 返回 XML 文档的哈希码。
广告