如何在XML头标记在DOM4J
问题描述:
添加一个新的属性如何添加在XML头标记一个新的属性一样如何在XML头标记在DOM4J
<?xml version="1.0" encoding="UTF-8" **text1="value"**?>
我需要增加新属性“text1
”
目前它的下面创造时尚
<?xml version="1.0" encoding="UTF-8"?>
答
简单的答案是你不能和你不应该。否则,你正在破坏XML的良构...
答
你可以扩展XMLWriter并覆盖writeDeclaration方法来添加属性。
@Override
protected void writeDeclaration() throws IOException {
OutputFormat format = getOutputFormat();
String encoding = format.getEncoding();
// Only print of declaration is not suppressed
if (!format.isSuppressDeclaration()) {
// Assume 1.0 version
if (encoding.equals("UTF8")) {
writer.write("<?xml version=\"1.0\"");
if (!format.isOmitEncoding()) {
writer.write(" encoding=\"UTF-8\"");
}
// TODO Add your attribute hear
writer.write(" standalone=\"yes\"");
writer.write("?>");
} else {
writer.write("<?xml version=\"1.0\"");
if (!format.isOmitEncoding()) {
writer.write(" encoding=\"" + encoding + "\"");
}
// TODO Add your attribute hear
writer.write(" standalone=\"yes\"");
writer.write("?>");
}
if (format.isNewLineAfterDeclaration()) {
println();
}
}
}
结果
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
如果你需要* *添加这样的事情,你的XML规范之外。使用另一种工具。 –