Java JDOM Document setDocType() 方法



Java JDOM 的 setDocType() 方法是 Document 类的一个方法,用于为 XML 文档设置文档类型定义 (DocType)。文档类型定义 (DTD) 用于设置 XML 文档的规则,例如根元素内的元素数量、各种元素文本内容的数据类型、子元素的顺序等。

我们可以将 DTD 定义在 XML 文档内部(内部 DTD),也可以将外部 DTD 文件链接到我们的 XML 文档(外部 DTD)。使用 setDocType() 方法,我们可以将内部 DTD 和外部 DTD 设置到 XML 文档。

语法

以下是 Java JDOM Document setDocType() 方法的语法:

Document.setDocType(docType);

参数

Java setDocType() 方法接受一个参数。

docType − 我们需要设置的 DocType 对象。

返回值

Java setDocType() 方法在设置 DTD(文档类型定义)后返回修改后的文档。

示例 1

以下是使用 Java JDOM Document setDocType() 方法的基本示例:

import org.jdom2.DocType;
import org.jdom2.Document;

public class SetDocType {
   public static void main(String args[]) {
      try {
    	 //Creating new document
    	 Document doc = new Document();
    	 //Create and set DocType
    	 DocType docType = new DocType("root");
    	 doc.setDocType(docType);
    	 System.out.println(doc);
      } catch(Exception e) {
    	 e.printStackTrace();
      } 
   }
}

添加文档类型定义后的文档将被显示。

[Document: [DocType: <!DOCTYPE root>],  No root element]

示例 2

DocType 类的 setInternalSubset() 方法用于设置内部 DTD 中的数据。设置数据后,DocType 对象将作为参数传递给 setDocType() 方法以设置 DTD。

import org.jdom2.DocType;
import org.jdom2.Document;

public class SetInternalDTD {
   public static void main(String args[]) {
      try {
    	 //Creating new document
    	 Document doc = new Document();
    	 //Create and add data to DocType
    	 DocType docType = new DocType("root");
    	 docType.setInternalSubset("<!ELEMENT root (child+)> <!ELEMENT child (#PCDATA)>");
    	 //Set DocType to document
    	 doc.setDocType(docType);
    	 System.out.println(doc);
      } catch(Exception e) {
    	 e.printStackTrace();
      } 
   }
}

输出窗口将显示包含数据的 DTD。

[Document: [DocType: <!DOCTYPE root [
<!ELEMENT root (child+)> <!ELEMENT child (#PCDATA)>]>],  No root element]

示例 3

创建 DocType 对象时,可以将外部 DTD 文件作为第二个参数传递给 DocType() 构造函数。下面的程序将外部 DTD 文件设置为 XML 文档:

import org.jdom2.DocType;
import org.jdom2.Document;

public class SetExternalDTD {
   public static void main(String args[]) {
      try {
    	 //Creating new document
    	 Document doc = new Document();
    	 //Set external DTD
    	 DocType docType = new DocType("root","personInfo.dtd");
    	 doc.setDocType(docType);
    	 System.out.println(doc);
      } catch(Exception e) {
    	 e.printStackTrace();
      } 
   }
}

将显示 XML 文档的 DocType 声明。

[Document: [DocType: <!DOCTYPE root SYSTEM "personInfo.dtd">],  No root element]
广告