dom4j XML декларация в документа

Трябва да премахна XML декларацията от типа документ dom4j

Създавам документ от

doc = (Document) DocumentHelper.parseText(someXMLstringWithoutXMLDeclaration);

Низът, анализиран на Document doc от DocumenHelper, не съдържа XML декларация (идва от XML => XSL => XML трансформация) Мисля, че DocumentHelper добавя декларация към тялото на документ?

Има ли някакъв начин да премахнете XML декларацията от тялото на

doc

person Marcin Wasiluk    schedule 11.05.2011    source източник


Отговори (3)


Не съм сигурен къде точно тази декларация е проблем във вашия код. Имах това веднъж, когато исках да напиша xml файл без декларация (с помощта на dom4j).

Така че, ако това е вашият случай на употреба: „пропускане на декларация“ е това, което търсите. http://dom4j.sourceforge.net/dom4j-1.6.1/apidocs/org/dom4j/io/OutputFormat.html

Google казва, че това може да се зададе и като свойство, но не съм сигурен какво прави.

person PhilW    schedule 24.05.2011

По-простото решение, което избирам, е

doc.getRootElement().asXML();
person Jerry Meng    schedule 20.11.2017
comment
много просто и хубаво. това ми помогна! - person user1506104; 14.12.2017

Трябва да взаимодействате с основния елемент вместо с документа. Например, използвайки стандартния, компактен OutputFormat, споменат от PhilW:

Document doc = (Document) DocumentHelper.parseText(someXMLstringWithoutXMLDeclaration);    
final Writer writer = new StringWriter();
new XMLWriter(writer).write(doc.getRootElement());
String out = writer.toString();
person Kirby    schedule 12.07.2012