Dom4j 添加 standalone 字段

来源:互联网 发布:linux下安装navicat 编辑:程序博客网 时间:2024/05/27 12:21

 

首先,这是xml的格式;
其次,<? ?>是处理命令的表示;
还,version="1.0" ,它是表示版本为1.0;
最后,standalone 定义了外部定义的 DTD 文件的存在性. standalone element 效值是 yes 和 no. 如下是一个例子: <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd">
<s1>.........</s1>
值 no 表示这个 XML 文档不是独立的而是依赖于外部所定义的一个 DTD. 值 yes 表示这个 XML 文档是自包含的(self-contained).

 

dom4j 的 XMLWriter 现在还不支持standalone, 你可以重写(override)其 writeDeclaration 方法:

public class StandaloneWriter extends XMLWriter {
protected void writeDeclaration() throws IOException {
OutputFormat format = getOutputFormat();
String encoding = format.getEncoding();
if (!format.isSuppressDeclaration()) {
writer.write("<?xml version=\"1.0\"");
if (!format.isOmitEncoding()) {
if (encoding.equals("UTF8"))
writer.write(" encoding=\"UTF-8\"");
else
writer.write(" encoding=\"" + encoding + "\"");
}
writer.write(" standalone=\"true\"");
writer.write("?>");
if (format.isNewLineAfterDeclaration()) { println(); }
}
}
}

 

原创粉丝点击