编组时可选的JAXB xml属性
发布时间:2020-12-16 07:51:52 所属栏目:百科 来源:网络整理
导读:当我使用JAXB编组 java对象时,我得到了xml元素 error line="12" column="" message="test" / 但我想要xml如下 error line="12" message="test" / 如果列值为空,那么我需要获取如上所示的xml,否则我需要获取元素中的column属性. 有没有办法得到它? 如果相应
当我使用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=""/> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |