Java Dom4j解析xml常见问题,Java Dom4j设置Xml encoding编码

Java Dom4j解析xml常见问题

Java Dom4j设置Xml encoding编码

Java Dom4j Element属性为Null时不显示

Java Dom4j Element标签非对称结束,Java Dom4j Element以“/”结束

================================

©Copyright 蕃薯耀 2019年1月11日

http://fanshuyao.iteye.com/

 

一、Java Dom4j设置Xml encoding编码

Document document = DocumentHelper.createDocument();
document.setXMLEncoding("GB2312");
……
……
String xml = document.asXML();

 输出结果:

<?xml version="1.0" encoding="GB2312"?>

二、Java Dom4j Element属性为Null时不显示

<column name="proj_location"/>
<column name="proj_location" value=""/>

 如上面所示:

都给columnElement设置了value的属性

columnElement.addAttribute("value", value);

 但第一个的value属性没有显示,第二个显示。

这是因为当属性的值为Null时,属性值不显示,设置成空字符串("")则能显示出来。

示例代码:

Element columnElement = rootElement.addElement("column");
if(value == null){
    value = "";//如果Attribute设置的属性的值为Null,默认是不显示该属性的,想要显示,当为Null时设置为空字符串显示该属性。
}
columnElement.addAttribute("value", value);

三、Java Dom4j Element标签非对称结束,Java Dom4j Element以“/”结束

<column name="proj_location" value=""/>
<column name="proj_location" value=""></column>

 如上面所示:

第一个以“/”结束:<a/>,当columnElement没有设置text值时或者Text值为Null时,以“/”结束,不对称

第二个是对称:<a></a>,当设置了text的值且不为Null时,Dom4j输出元素标签时是对称的。

Java Dom4j设置空字符串后元素标签对称输出示例代码:

Element columnElement = rootElement.addElement("column");
columnElement.setText("");//如果Element不设置Text或者Text值为Null时,生成的xml元素节点只是单个标签<a/>;设置空字符串或者有值,则是<a></a>

 

================================

©Copyright 蕃薯耀 2019年1月11日

http://fanshuyao.iteye.com/

猜你喜欢

转载自fanshuyao.iteye.com/blog/2436491