当我使用JAXB编组
java对象时,我得到了xml元素
<error line="12" column="" message="test" />
但我想要xml如下
<error line="12" message="test" />
如果列值为空,那么我需要获取如上所示的xml,否则我需要获取元素中的column属性.
有没有办法得到它?
如果相应的字段/属性包含空字符串值,则只会使用空字符串值对属性进行编组.如果该值为null,则不会对该属性进行编组.
根
package forum13218462; import javax.xml.bind.annotation.*; @XmlRootElement public class Root { @XmlAttribute String attributeNull; @XmlAttribute String attributeEmpty; @XmlAttribute(required=true) String attributeNullrequired; }
演示
package forum13218462; import javax.xml.bind.*; public class Demo { public static void main(String[] args) throws Exception { JAXBContext jc = JAXBContext.newInstance(Root.class); Root root = new Root(); root.attributeNull = null; root.attributeEmpty = ""; root.attributeNullrequired = null; Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true); marshaller.marshal(root,System.out); } }
产量
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <root attributeEmpty=""/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。