使用JDOM创建XML文档的DTD
程序员文章站
2021-11-28 11:23:26
...
首先,创建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>
上一篇: Mysql笔记(三)常用系统函数
下一篇: Mysql笔记(二)简单增删改查