使用 JAXB 的 XML 中的标头标记
现在,我正在从我的JAXB Marshaller获得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 Marshaller获得XML输出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><create></create>
但是我希望我的根元素是:
<create xmlns="http://ws.abc.com" xmlns:doc="http://ws.abc.com">
我是否需要使用解析器对其进行修改,或者是否有任何可用的注释。
可以在 上设置以下属性以删除标头:Marshaller
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
详细信息
我过去使用过变形金刚。您需要类似于以下示例代码的内容:
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);
因此,也许可以进行编组,然后进行处理。不确定这是否是最好的方法,但它会起作用。