Dom4J创办XML
Dom4J创建XML
说明:本文主要是用dom4j来创建一个带循环的xml,也是工作中用到的,在此留一个备份吧,关于XML的解析和dom4j的JAR参考http://dycsos123ok.iteye.com/blog/1672870。
【样式XML】
<gt:XMLReturnTest xmlns:gt="http://www.sgcc.com.cn/sggis/service/schema" xmlns:gml="http://www.opengis.net/gml"> <gt:RecordArray> <gt:Record> <gt:Field> <gt:Name>PSRType</gt:Name> <gt:Value>剥皮</gt:Value> </gt:Field> </gt:Record> <gt:Record> <gt:Field> <gt:Name>PSRType</gt:Name> <gt:Value>平儿</gt:Value> </gt:Field> </gt:Record> <gt:Record> <gt:Field> <gt:Name>PSRType</gt:Name> <gt:Value>龙虾妹</gt:Value> </gt:Field> </gt:Record> <gt:Record> <gt:Field> <gt:Name>PSRType</gt:Name> <gt:Value>大婶</gt:Value> </gt:Field> </gt:Record> </gt:RecordArray> </gt:XMLReturnTest>
【解析源码】
package com.dyc.dom4j; import java.util.ArrayList; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class CreateXmlFromDom4J { /** * @param args */ public static final String SGGIS_SCHEMA_PREFIX = "gt"; public static final String SGGIS_SCHEMA_URI = "http://www.sgcc.com.cn/sggis/service/schema"; public static final String SGGIS_SCHEMA_PREFIX_GML = "gml"; public static final String SGGIS_SCHEMA_URI_GML = "http://www.opengis.net/gml"; public String addListToXML(List<String> list, String rootName) { Document doc = DocumentHelper.createDocument(); Element root = doc.addElement(SGGIS_SCHEMA_PREFIX + ":" + rootName); root.addNamespace(SGGIS_SCHEMA_PREFIX, SGGIS_SCHEMA_URI).addNamespace( SGGIS_SCHEMA_PREFIX_GML, SGGIS_SCHEMA_URI_GML); Element element = root.addElement(SGGIS_SCHEMA_PREFIX + ":RecordArray"); for (String value : list) { Element paramElement = element.addElement(SGGIS_SCHEMA_PREFIX + ":Record"); Element clildElement1 = paramElement.addElement(SGGIS_SCHEMA_PREFIX + ":Field"); clildElement1.addElement(SGGIS_SCHEMA_PREFIX + ":Name").addText( "PSRType"); clildElement1.addElement(SGGIS_SCHEMA_PREFIX + ":Value").addText( value); } return root.asXML(); } public static void main(String[] args) { List<String> list = new ArrayList<String>() ; list.add("剥皮") ; list.add("平儿") ; list.add("龙虾妹") ; list.add("大婶") ; CreateXmlFromDom4J cxf = new CreateXmlFromDom4J() ; String res = cxf.addListToXML(list, "XMLReturnTest") ; System.out.println(res); } }