java 读取 xmltype_java – 如何获取XmlType的String表示?

可以将

javax.xml.bind.annotation.XmlType转换为

XML的String表示形式吗?

例:

以下类Req来自第三方库,所以我无法覆盖toString()方法.

@javax.xml.bind.annotation.XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)

@javax.xml.bind.annotation.XmlType(name = "req", propOrder = {"myDetails", "customerDetails"})

public class Req {

...

}

在我的应用程序中,我想简单地获取XML的String表示形式,以便我可以将其记录到一个文件中:

...

...

当我尝试使用JAXB和Marshall来转换为XML字符串:

JAXBContext context = JAXBContext.newInstance(Req.class);

Marshaller marshaller = context.createMarshaller();

StringWriter sw = new StringWriter();

marshaller.marshal(instanceOfReq, sw);

String xmlString = sw.toString();

我得到以下例外:

javax.xml.bind.MarshalException

- with linked exception:

[com.sun.istack.SAXException2: unable to marshal type "mypackage.Req" as an element because it is missing an @XmlRootElement annotation]

我看过第三方库中的其他类,并没有使用@XmlRootElement注释.这样吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值