`

使用JDOM创建XML文档的DTD

XML 
阅读更多

首先,创建public的DTD。不知道public形式的DTD中Dtd名称部分怎么用JDOM的API,JDOM好像没有提供,不过用setPublicID可以实现,代码:

 

 

 

 

try {
			
			Document document = new Document();//创建一个新的document对象
			
			DocType docType = new DocType("quqtalk");//创建一个DTD对象
		
			//所有者:quqtalk,DTD名字:quqtalk date,语言的种类:CN
			docType.setPublicID("-//quqtalk//quqtalk data//CN");
			//DTD位置,可以是绝对路径也可以是相对路径
			docType.setSystemID("http://www.quqtalk.com/dtds/quqtalk.dtd");
			document.setDocType(docType);

			Element root = new Element("quqtalk");//根元素
			document.setRootElement(root);

			Element name = new Element("name");//新建元素name
			name.setText("Shaohua Qu");
			root.addContent(name);

			XMLOutputter outp = new XMLOutputter();// 用于输出jdom 文档
			Format format = Format.getPrettyFormat(); // 格式化文档
			format.setEncoding("GBK"); //字符集
			outp.setFormat(format);
			outp.output(document, System.out); // 输出文档
		} catch (IOException e) {
			e.printStackTrace();
		}

 

 

output结果:

 

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE quqtalk PUBLIC "-//quqtalk//quqtalk data//CN" "http://www.quqtalk.com/dtds/quqtalk.dtd">

<quqtalk>
  <name>Shaohua Qu</name>
</quqtalk>
 

然后,创建SYSTEM的DTD,代码:

 

 

	try {
			
			Document document = new Document();//创建一个新的document对象
			
			DocType docType = new DocType("quqtalk");//创建一个DTD对象

			//DTD位置,可以是绝对路径也可以是相对路径
			docType.setSystemID("http://www.quqtalk.com/dtds/quqtalk.dtd");
			document.setDocType(docType);

			Element root = new Element("quqtalk");//根元素
			document.setRootElement(root);

			Element name = new Element("name");//新建元素name
			name.setText("Shaohua Qu");
			root.addContent(name);

			XMLOutputter outp = new XMLOutputter();// 用于输出jdom 文档
			Format format = Format.getPrettyFormat(); // 格式化文档
			format.setEncoding("GBK"); //字符集
			outp.setFormat(format);
			outp.output(document, System.out); // 输出文档
		} catch (IOException e) {
			e.printStackTrace();
		}

 output结果:

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE quqtalk SYSTEM "http://www.quqtalk.com/dtds/quqtalk.dtd">

<quqtalk>
  <name>Shaohua Qu</name>
</quqtalk>

 

 

 

 

分享到:
评论

相关推荐

    jdom解析xml、dtd约束xml文件

    这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写...

    XML的解析方式以及两种约束XML格式的文件编写

    这个是关于DTD文档的编写,约束XML的格式,以及新版的约束文档schema类型的约束,包括DOM解析xml、JDOM解析xml的源码带详细注释

    疯狂xml讲义

    其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样...

    疯狂XML讲义 源码

    其中的DOM、SAX、JAXP、dom4i和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过X Query可以查询XML,文档中的数据,就像使用SQL查询关系数据库的数据...

    疯狂XML讲义.part3.rar

    其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样...

    Java and XML, 3rd Edition

    包括StAX的工厂方法(factory)、文档生成和XMLPull *使用JAXB进行数据绑定,使用新的JAXB 2.0 annotation *使用RSS进行网络同步和podcasting *表示层的XML应用,主要针对Ajax和Flash应用程序 无论您...

    疯狂XML讲义

    其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样...

    疯狂XML讲义(Web Service).pdf

    其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样...

    xml入门教程/xml入门教程

    DTD文档是用于规定XML文档的结构。只有结构符合所引用的DTD文件的XML文件才能称之为有效的XML文件。 DTD(文档类型定义) !DOCTYPE 定义DTD文件名 !ELEMENT 定义元素中可用的数据类型 #PCDATA 可解析字符串。 1)DTD的...

    JAVA与XML.rar

    JDOM应用程序编程接口,包括核心接口和XPath支持 StAX应用程序编程接口,包括StAX的工厂方法(factory)、文档生成和XMLPull 使用JAXB进行数据绑定,使用新的JAXB 2.0 annotation 使用RSS进行网络同步和podcasting ...

    疯狂XML讲义.part1

    其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样...

    疯狂XML讲义.part2.rar

    其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样...

    Java与XML第三版本

    JDOM应用程序编程接口,包括核心接口和XPath支持 StAX应用程序编程接口,包括StAX的工厂方法(factory)、文档生成和XMLPull 使用JAXB进行数据绑定,使用新的JAXB 2.0 annotation 使用RSS进行网络同步和podcasting ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    1.8.1 在xml文档中引入dtd 18 1.8.2 dtd的结构 21 1.9 有效的xml 35 1.10 xml处理器/解析器 35 1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    1.8.1 在xml文档中引入dtd 18 1.8.2 dtd的结构 21 1.9 有效的xml 35 1.10 xml处理器/解析器 35 1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    1.8.1 在xml文档中引入dtd 18 1.8.2 dtd的结构 21 1.9 有效的xml 35 1.10 xml处理器/解析器 35 1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称...

    DWR.xml配置文件说明书(含源码)

    DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...

Global site tag (gtag.js) - Google Analytics