Сначала Вы не можете иметь ничего до <?xml ... ?>
.
Я полагаю, что следующее xml должно быть тем, что вы хотите:
<?xml version='1.0' encoding='UTF-8'?>
<!--Some insightful commentary here-->
<SomePojo>
<id>1</id>
<name>pojo1</name>
</SomePojo>
Вы можно попробовать формат данных Джексона- xml.
Тестовый код
import java.io.StringWriter;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamWriter;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.testng.annotations.Test;
public class XMLWriteCommentTest {
@Test
public void test() throws Exception {
// First create Stax components we need
XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory();
XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory();
StringWriter out = new StringWriter();
XMLStreamWriter sw = xmlOutputFactory.createXMLStreamWriter(out);
// then Jackson components
XmlMapper mapper = new XmlMapper(xmlInputFactory);
sw.writeStartDocument();
// comment
sw.writeComment("Some insightful commentary here");
// Write whatever content POJOs...
mapper.writeValue(sw, new SomePojo("1", "pojo1"));
sw.writeEndDocument();
// getResult
String xml = out.toString();
System.out.println(xml);
}
}
class SomePojo {
private String id;
private String name;
public SomePojo(String id, String name){
this.id = id;
this.name = name;
}
public String getId(){
return this.id;
}
public void setId(String id){
this.id = id;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
Зависимость Maven
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.10.1</version>
</dependency>