Java 使用JAXB的XML标题标记

Java 使用JAXB的XML标题标记,java,jaxb,Java,Jaxb,现在,我从我的JAXB封送器中获得了一个XML输出 <?xml version="1.0" encoding="UTF-8" standalone="yes"?><create></create> 但我希望我的根元素为: <create xmlns="http://ws.abc.com" xmlns:doc="http://ws.abc.com"> 我是否需要使用解析器修改此内容,或者是否有可用的注释。我过去使用过。您可能需要以下示例代

现在,我从我的JAXB封送器中获得了一个XML输出

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><create></create>

但我希望我的根元素为:

<create xmlns="http://ws.abc.com" xmlns:doc="http://ws.abc.com">

我是否需要使用解析器修改此内容,或者是否有可用的注释。

我过去使用过。您可能需要以下示例代码:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
StreamResult transformedDoc = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(content); // Where content is a org.w3c.dom.Document object.

transformer.transform(source, transformedDoc);

所以也许你需要做编组,然后处理。不确定这是否是最佳方法,但它会起作用。

您可以在
封送拆收器上设置以下属性以删除标头:

marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
了解更多信息