java 生成xml字符串_使用dom4j生成xml字符串,以及解析xml字符串

importjava.io.IOException;importjava.io.StringWriter;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjava.util.Set;importjava.util.logging.Level;importjava.util.logging.Logger;importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.DocumentHelper;importorg.dom4j.Element;importorg.dom4j.io.OutputFormat;importorg.dom4j.io.XMLWriter;/***

*@authory*/

public classTest {/***@paramargs the command line arguments*/

public static void main(String[] args) throwsDocumentException {

Map map = new HashMap();

map.put("name", "李四");

map.put("age", 25);//System.out.println(map2xml(map));

List list = new ArrayList();

list.add("测试1");

list.add("测试2");

list.add("测试3");//System.out.println(list2xml(list,"items"));

List> listMap = new ArrayList>();

Map map1 = new HashMap();

map1.put("name", "张三");

map1.put("age", 23);

listMap.add(map1);

map1= new HashMap();

map1.put("name", "李四");

map1.put("age", 24);

listMap.add(map1);

map1= new HashMap();

map1.put("name", "王五");

map1.put("age", 25);

listMap.add(map1);

System.out.println(listMap2xml(listMap,"users","user"));

}public static String listMap2xml(List>list,String listRoot,String mapRoot){

Document doc=DocumentHelper.createDocument();

Element rootEle= doc.addElement("result");

Element noEle= rootEle.addElement("no");

Element msgEle= rootEle.addElement("msg");if(null!=list && !list.isEmpty()){

noEle.setText("1");

msgEle.setText("成功获取相关信息");

Element listRootEle=rootEle.addElement(listRoot);for(Mapmap:list){

Element mapRootELe=listRootEle.addElement(mapRoot);

Set> set =map.entrySet();

Iterator> iter =set.iterator();while(iter.hasNext()){

Map.Entry entry = (Map.Entry)iter.next();

Element ele=mapRootELe.addElement(entry.getKey());

ele.setText(String.valueOf(entry.getValue()));

}

}

}else{

noEle.setText("0");

msgEle.setText("没有获取到相关信息");

}

StringWriter sw= newStringWriter();

OutputFormat format=OutputFormat.createPrettyPrint();

format.setEncoding("utf-8");try{

XMLWriter xmlWriter= newXMLWriter(sw, format);

xmlWriter.write(doc);

}catch(IOException ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}finally{try{

sw.close();

}catch(IOException ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}

}returnsw.toString();

}public static String list2xml(Listlist,String itemRoot){

Document doc=DocumentHelper.createDocument();

Element rootEle= doc.addElement("result");

Element noEle= rootEle.addElement("no");

Element msgEle= rootEle.addElement("msg");if(null!=list && !list.isEmpty()){

noEle.setText("1");

msgEle.setText("成功获取相关信息");

Element itemRootEle=rootEle.addElement(itemRoot);for(Object obj:list){

Element ele= itemRootEle.addElement("item");

ele.setText(String.valueOf(obj));

}

}else{

noEle.setText("0");

msgEle.setText("没有获取到相关信息");

}

StringWriter sw= newStringWriter();

OutputFormat format=OutputFormat.createPrettyPrint();

format.setEncoding("utf-8");try{

XMLWriter xmlWriter= newXMLWriter(sw, format);

xmlWriter.write(doc);

}catch(IOException ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}finally{try{

sw.close();

}catch(IOException ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}

}returnsw.toString();

}public static String map2xml(Mapmap) {

Document doc=DocumentHelper.createDocument();

Element rootEle= doc.addElement("result");

Element noEle= rootEle.addElement("no");

Element msgEle= rootEle.addElement("msg");if(null!=map && !map.isEmpty()){

noEle.setText("1");

msgEle.setText("成功获取相关信息");

Set> set =map.entrySet();

Iterator> iter =set.iterator();while(iter.hasNext()){

Map.Entry entry = (Map.Entry) iter.next();

Element ele=rootEle.addElement(entry.getKey());

ele.setText(String.valueOf(entry.getValue()));

}

}else{

noEle.setText("0");

msgEle.setText("没有获取到相关信息");

}

StringWriter sw= newStringWriter();

OutputFormat format=OutputFormat.createPrettyPrint();

format.setEncoding("utf-8");try{

XMLWriter xmlWriter= newXMLWriter(sw, format);

xmlWriter.write(doc);

}catch(IOException ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}finally{try{

sw.close();

}catch(IOException ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}

}returnsw.toString();

}public static voidtest4() {

Document doc=DocumentHelper.createDocument();

Element rootEle= doc.addElement("sudent");

Element nameEle= rootEle.addElement("name");

nameEle.setText("张三");

Element ageEle= rootEle.addElement("age");

ageEle.setText("25");try{

StringWriter sw= newStringWriter();

OutputFormat format=OutputFormat.createPrettyPrint();

format.setEncoding("utf-8");

XMLWriter xmlWriter= newXMLWriter(sw, format);

xmlWriter.write(doc);

System.out.println(sw.toString());

}catch(IOException ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}

}public static void test3() throwsDocumentException {

String str= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

+ ""

+ " "

+ " Think in Java"

+ " 120.0"

+ " "

+ " 001"

+ " 002"

+ " 003"

+ " "

+ " "

+ " "

+ " Think in Java2"

+ " 220.0"

+ " "

+ "";

Document doc=DocumentHelper.parseText(str);

Element books=doc.getRootElement();

List childEles =books.elements();

Iterator iter =childEles.iterator();while(iter.hasNext()) {

Element book=iter.next();

Element name= book.element("name");

Element price= book.element("price");

System.out.println("name:" + name.getText() + ",price:" +price.getText());

Element chapters= book.element("chapters");if (null !=chapters) {

Iterator chaptersIter =chapters.elementIterator();if (null !=chaptersIter) {while(chaptersIter.hasNext()) {

Element c=chaptersIter.next();

System.out.println("===>" +c.getText());

}

}

}

}

}public static void test2() throwsDocumentException {

String str= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

+ ""

+ " "

+ " Think in Java"

+ " 120.0"

+ " "

+ " "

+ " Think in Java2"

+ " 220.0"

+ " "

+ "";

Document doc=DocumentHelper.parseText(str);

Element books=doc.getRootElement();

List childEles =books.elements();

Iterator iter =childEles.iterator();while(iter.hasNext()) {

Element book=iter.next();

Element name= book.element("name");

Element price= book.element("price");

System.out.println("name:" + name.getText() + ",price:" +price.getText());

}

}public static void test1() throwsDocumentException {

String str= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

+ ""

+ " "

+ "   nsrsbh"

+ "   retStatus"

+ "   img_name"

+ " img_byteString"

+ " "

+ "";

Document doc=DocumentHelper.parseText(str);//获取到父节点

Element dzswdjz =doc.getRootElement();//定位到qr_code节点

Element qr_code = dzswdjz.element("qr_code");

Element nsrsbh= qr_code.element("nsrsbh");

Element retStatus= qr_code.element("retStatus");

Element img_name= qr_code.element("img_name");

Element img_byteString= qr_code.element("img_byteString");

System.out.println("nsrsbh:" +nsrsbh.getText());

System.out.println("retStatus:" +retStatus.getText());

System.out.println("img_name:" +img_name.getText());

System.out.println("img_byteString:" +img_byteString.getText());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值