gpt4 book ai didi

java - 使用 java Marshaller 更改命名空间根名称

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:02 24 4
gpt4 key购买 nike

我使用 Java wsimport 工具从 WSDL 生成了一个 Web 服务客户端。但是当我使用 Marshaller 类生成 XML 文件时,根命名空间的名称为 <Object xmlns:ns2="(...)" 。像这样:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Object xmlns:ns2="(...)"

我希望它有一个像这样的特定名称:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<myName xmlns:ns2="(...)"
<小时/>

这就是我使用 Marshaller 的方式:

Writer w = new StringWriter();
JAXBElement<ObjectType> element = new ObjectFactory().createObject(evt);

marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(element, w);

最佳答案

下面是适合我的代码。这应该适合你。

JAXBContext jaxbCtx = JAXBContext.newInstance(classToBeBound.getClass());
StringWriter writer = new StringWriter();

Marshaller marshaller = jaxbCtx.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(The root of content tree to be marshalled, writer);

关于java - 使用 java Marshaller 更改命名空间根名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54007218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com