mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add method
This commit is contained in:
@@ -1270,10 +1270,25 @@ public class XmlUtil {
|
||||
* @since 5.2.4
|
||||
*/
|
||||
public static Document beanToXml(Object bean, String namespace) {
|
||||
return beanToXml(bean, namespace, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Bean转换为XML
|
||||
*
|
||||
* @param bean Bean对象
|
||||
* @param namespace 命名空间,可以为null
|
||||
* @param ignoreNull 时候忽略值为{@code null}的属性
|
||||
* @return XML
|
||||
* @see JAXBUtil#beanToXml(Object)
|
||||
* @since 5.7.10
|
||||
*/
|
||||
public static Document beanToXml(Object bean, String namespace, boolean ignoreNull) {
|
||||
if (null == bean) {
|
||||
return null;
|
||||
}
|
||||
return mapToXml(BeanUtil.beanToMap(bean), bean.getClass().getSimpleName(), namespace);
|
||||
return mapToXml(BeanUtil.beanToMap(bean, false, ignoreNull),
|
||||
bean.getClass().getSimpleName(), namespace);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -195,6 +195,33 @@ public class XmlUtilTest {
|
||||
Assert.assertEquals("2020/04/15 21:01:21", value);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void beanToXmlIgnoreNullTest() {
|
||||
@Data
|
||||
class TestBean {
|
||||
private String ReqCode;
|
||||
private String AccountName;
|
||||
private String Operator;
|
||||
private String ProjectCode;
|
||||
private String BankCode;
|
||||
}
|
||||
|
||||
final TestBean testBean = new TestBean();
|
||||
testBean.setReqCode("1111");
|
||||
testBean.setAccountName("账户名称");
|
||||
testBean.setOperator("cz");
|
||||
testBean.setProjectCode(null);
|
||||
testBean.setBankCode("00001");
|
||||
|
||||
// 不忽略空字段情况下保留自闭标签
|
||||
Document doc = XmlUtil.beanToXml(testBean, null, false);
|
||||
Assert.assertNotNull(XmlUtil.getElement(doc.getDocumentElement(), "ProjectCode"));
|
||||
|
||||
// 忽略空字段情况下无自闭标签
|
||||
doc = XmlUtil.beanToXml(testBean, null, true);
|
||||
Assert.assertNull(XmlUtil.getElement(doc.getDocumentElement(), "ProjectCode"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void xmlToBeanTest() {
|
||||
@Data
|
||||
|
Reference in New Issue
Block a user