Repect StaxDriver in XStreamMarshaller::marshalXmlStreamWriter

This commit makes sure that namespaces configured via the streamDriver
property are respected.
This commit is contained in:
qxo 2017-11-29 17:44:05 +08:00 committed by Arjen Poutsma
parent 974d326bf5
commit 247d2bb0ae
1 changed files with 7 additions and 1 deletions

View File

@ -694,7 +694,13 @@ public class XStreamMarshaller extends AbstractMarshaller implements BeanClassLo
@Override
protected void marshalXmlStreamWriter(Object graph, XMLStreamWriter streamWriter) throws XmlMappingException {
try {
doMarshal(graph, new StaxWriter(new QNameMap(), streamWriter, this.nameCoder), null);
final StaxWriter writer;
if( streamDriver instanceof StaxDriver){
writer = ((StaxDriver)streamDriver).createStaxWriter(streamWriter);
}else{
writer = new StaxWriter( new QNameMap(),streamWriter, this.nameCoder);
}
doMarshal(graph,writer, null);
}
catch (XMLStreamException ex) {
throw convertXStreamException(ex, true);