2016-04-29 76 views
0

添加一个新的属性如何添加在XML头标记一个新的属性一样如何在XML头标记在DOM4J

<?xml version="1.0" encoding="UTF-8" **text1="value"**?> 

我需要增加新属性“text1

目前它的下面创造时尚

<?xml version="1.0" encoding="UTF-8"?> 
+1

如果你需要* *添加这样的事情,你的XML规范之外。使用另一种工具。 –

回答

0

简单的答案是你不能和你不应该。否则,你正在破坏XML的良构...

0

你可以扩展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"?>