2016-02-15 2 views
6

Hi ich bin serialisieren java POJO objekt zu xml mit schneller-xml (https://github.com/FasterXML/jackson-dataformat-xml/wiki) .Wenn ich das mache ich habe xml aber es hat keine version und Codierung in xML-Dateien auszuführen.Diese ist das Format iFasterXML jackson-dataformat-xml serialisierung version und codierung nicht hinzugefügt zu xml

brauchen
<?xml version="1.0" encoding="utf-8"?> 
<SampleRequest> 
... 
</SampleRequest> 

Aber ich habe nur diese eine

<SampleRequest> 
... 
</SampleRequest> 

gibt es eine Konfiguration in jackson fasterxml den Vermerk hinzugefügt werden müssen.

Antwort

9

Sie können Ihren XmlMapper zum Schreiben von XML-Header konfigurieren.

XmlMapper xmlMapper = new XmlMapper(); 
xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true); 

als Beispiel:

import com.fasterxml.jackson.dataformat.xml.XmlMapper; 
import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; 
import java.io.IOException; 

public class Xml { 
    public static void main(String[] args) throws IOException { 
     // Important: create XmlMapper; it will use proper factories, workarounds 
     XmlMapper xmlMapper = new XmlMapper(); 
     xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true); 
     xmlMapper.writeValue(System.out, new SampleRequest()); 
    } 
} 

class SampleRequest{ 
    public int x = 1; 
    public int y = 2; 
} 

erzeugt die Ausgabe:

<?xml version="1.0" encoding="UTF-8"?> 
<SampleRequest ... 
</SampleRequest> 
+0

Dank es hilft mir wirklich. – Sajithv

+0

Wissen Sie, wie ich die Standalone-Richtlinie festlegen kann? –