提问人:Rock 提问时间:9/30/2022 更新时间:9/30/2022 访问量:92
将嵌套的 xml 标记编组为多个单独的标记
Marshalling the nested xml tags into multiple separate tags
问:
我有一个来自 api 的 XML 响应,类似于
<RootElement>
<Account>
<Address>
<Name>xyz</Name>
</Address>
<Address>
<Name>abc</Name>
</Address>
</Account>
<Account>
<Address>
<Name>def</Name>
</Address>
<Address>
<Name>pqr</Name>
</Address>
</Account>
</RootElement>
以及上述表示的相应 Java 类
@XmlRootElement(name="RootElement")
class RootElement {
@XmlElement(name="Account")
List<Account> account;
//corresponding getter and setter method
}
@XmlRootElement(name="Account")
class Account {
@XmlElement(name="Address")
List<Address> address;
//corresponding getter and setter method
}
@XmlRootElement(name="Address")
class Address {
@XmlElement(name="Name")
String name;
//corresponding getter and setter method
}
在这里,我想将来自API的XML响应编入此结构
<RootElement>
<Account>
<Address>
<Name>xyz</Name>
</Address>
</Account>
<Account>
<Address>
<Name>abc</Name>
</Address>
</Account>
<Account>
<Address>
<Name>def</Name>
</Address>
</Account>
<Account>
<Address>
<Name>pqr</Name>
</Address>
</Account>
</RootElement>
为了编组 Java 对象,这是我添加的代码
JAXBContext context = JAXBContext.newInstance(CreateExemptionCertificate.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
StringWriter sw = new StringWriter();
m.marshal(cc, sw);
String result = sw.toString();
我想将内部 Address 标签拆分为多个 Account 标签。 如何在 Java 中实现这一点,我尝试了编组,但无法形成所需的 XML 结构。
答: 暂无答案
评论