2016-04-29 6 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"?> 
Смежные вопросы