//JDOM xml的生成

import java.io.ByteArrayOutputStream;

import org.jdom2.Document;

import org.jdom2.Element;

import org.jdom2.output.XMLOutputter;

public class CreateJdom {

public static String createXml(){

Element root=new Element("cupMobiles");

Document doc=new Document(root);

Element cupMobile=new Element("cupMobile");

cupMobile.setAttribute("application", "UPNoCard");

cupMobile.setAttribute("version", "1.01");

root.addContent(cupMobile);

Element transaction=new Element("transaction");

transaction.setAttribute("type","Purchase.PMReq");

cupMobile.addContent(transaction);

Element submitTime=new Element("submitTime");

submitTime.setText("20111207111641");

transaction.addContent(submitTime);

Element order=new Element("order");

order.setAttribute("id", "12347733");

transaction.addContent(order);

Element merchant=new Element("merchant");

merchant.setAttribute("id","303290047228001");

transaction.addContent(merchant);

Element accountNumber1=new Element("accountNumber1");

accountNumber1.setText("6224130665233518");

transaction.addContent(accountNumber1);

Element transSerialNumber=new Element("transSerialNumber");

transSerialNumber.setText("201162");

transaction.addContent(transSerialNumber);

Element billAmount =new Element("billAmount");

billAmount.setAttribute("currency","156");

billAmount.setText("000000030231");

transaction.addContent(billAmount);

Element settleDate=new Element("settleDate");

settleDate.setText("20111208");

transaction.addContent(settleDate);

ByteArrayOutputStream byteRsp=new ByteArrayOutputStream();

XMLOutputter xmlOut=new XMLOutputter();

try {

xmlOut.output(doc, byteRsp);

} catch (Exception e) {

e.printStackTrace();

System.out.println(e.getMessage());

}

return byteRsp.toString();

}

public static void main(String[] args) {

}

}

//JDOM xml的生成的测试代码

import junit.framework.TestCase;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

public class CreateJdomTest extends TestCase{

@Before

public void setUp(){}

@After

public void tearDown(){}

@Test

public void testCreateJdom(){

String result=new CreateJdom().createXml();

System.out.println(result);

}

}

//JDOM xml的解析以及解析的测试代码

import java.io.StringReader;

import java.util.Collections;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import org.jdom2.Document;

import org.jdom2.Element;

import org.jdom2.input.SAXBuilder;

import org.xml.sax.InputSource;

public class ParseJdom {

public static Map parseXml(String xml) {

Map map = Collections

.synchronizedMap(new HashMap());

StringReader reader = new StringReader(xml);

InputSource source = new InputSource(reader);

SAXBuilder sax = new SAXBuilder();

try {

Document doc = sax.build(source);

Element root = doc.getRootElement();

//   map.put(root.getName(), root.getValue());

//   System.out.println("root=" + root.getName());

//   System.out.println("root,s value=" + root.getValue());

Element cupMobile = null;

cupMobile = root.getChild("cupMobile");

//   map.put(cupMobile.getName(), cupMobile.getValue());

String application=cupMobile.getAttributeValue("application");

map.put("application", application);

String version=cupMobile.getAttributeValue("version");

map.put("version", version);

Element transaction = null;

transaction = cupMobile.getChild("transaction");

//   map.put(transaction.getName(), transaction.getValue());

String type=transaction.getAttributeValue("type");

map.put("type", type);

Element submitTime = null;

submitTime = transaction.getChild("submitTime");

map.put(submitTime.getName(), submitTime.getValue());

Element order  = null;

order = transaction.getChild("order");

//   map.put(order.getName(), order.getValue());

String orderId=order.getAttributeValue("id");

map.put("orderId", orderId);

Element merchant  = null;

merchant = transaction.getChild("merchant");

//   map.put(merchant.getName(), merchant.getValue());

String merchantId=merchant.getAttributeValue("id");

map.put("merchantId", merchantId);

Element accountNumber1  = null;

accountNumber1 = transaction.getChild("accountNumber1");

map.put(accountNumber1.getName(), accountNumber1.getValue());

Element transSerialNumber  = null;

transSerialNumber = transaction.getChild("transSerialNumber");

map.put(transSerialNumber.getName(), transSerialNumber.getValue());

Element billAmount  = null;

billAmount = transaction.getChild("billAmount");

map.put(billAmount.getName(), billAmount.getValue());

String currency=billAmount.getAttributeValue("currency");

map.put("currency", currency);

Element settleDate  = null;

settleDate = transaction.getChild("settleDate");

map.put(settleDate.getName(), settleDate.getValue());

} catch (Exception e) {

e.printStackTrace();

System.out.println(e.getMessage());

}

return map;

}

public static void main(String[] args) {

String xml = new CreateJdom().createXml();

Map map = new ParseJdom().parseXml(xml);

Iterator it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry entry = (Map.Entry) it

.next();

System.out.println("key=" + entry.getKey());

System.out.println("Value=" + entry.getValue());

}

}

}

java jdom2_JDOM 生成和解析XML(二)相关推荐

  1. Java JDOM生成和解析XML

    一)JDOM介绍 使用方式:需要下载jdom对应的jar引入 <dependency><groupId>org.jdom</groupId><artifact ...

  2. Java实现生成和解析二维码

    Java实现生成和解析二维码 文章目录 Java实现生成和解析二维码 一.建立项目 二.创建工具类 三.创建启动类 一.建立项目 首先需要创建一个普通的 Maven 项目,在这里我用的是 google ...

  3. java微信开发API解析(二)-获取消息和回复消息

    java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...

  4. java解析xml实例_在java中使用dom解析xml的示例分析

    本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...

  5. java使用SAX接口解析xml文件

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用SAX接口解析xml文件.实现解析类,从xml解析开始到结尾,每一步均会触发对象的重载函数. 测试代码,将book1.xml改成你自己 ...

  6. java使用xpath解析xml,java如何使用xpath解析xml

    java如何使用xpath解析xml 发布时间:2020-12-08 12:28:00 来源:亿速云 阅读:60 作者:小新 这篇文章给大家分享的是有关java如何使用xpath解析xml的内容.小编 ...

  7. JAVA中利用DOM解析XML文档

    JAVA中利用DOM解析XML文档 package org.sws.utils; import java.io.File;import java.io.IOException; import java ...

  8. Java自定义生成与解析(Dom4J)XML文件

    XML(Extensible Markup Language):可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 应用:XML 应用于 web 开发的许多方面, ...

  9. JAVA动态读取xml_Java动态生成和解析xml文件步骤详解

    packageday12;importjava.io.FileInputStream;importjava.util.ArrayList;importjava.util.List;importorg. ...

  10. 大杂烩 -- 四种生成和解析XML文档的方法详解

    基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...

最新文章

  1. mysql两列查询结果列拼接一个表输出_sql select语句,查询出两列结果拼接在一起...
  2. android简单app实例_Android安卓小项目实战视频教程集锦
  3. BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]
  4. chromium浏览器_Chromium版Edge浏览器正式上线:安装包仅2.2MB
  5. java喷泉编码_好程序员Java教程分享使用JS实现简单喷泉效果
  6. PARALLEL(并行)
  7. Reverse digits of an integer
  8. web前端工程师必须掌握的24条宝贵经验!
  9. 【转】Qt之文件操作 QFile
  10. 牛客网模拟笔试——膨胀的牛牛(JavaScript)
  11. uuid和python中的uuid.py的使用教程
  12. Apache Kylin 入门 1 - 基本概念
  13. ping 丢包 网络摄像头_Ping丢包故障案例
  14. 资源协调与跨部门沟通技巧
  15. STM32:I2S驱动WM8978
  16. ir2104驱动电路原理
  17. Python之保留字
  18. MSDN 我告诉你 window实用软件下载地址
  19. XCode6如何创建Category
  20. 抑制剂以及抗体偶联物在免疫检查点中的作用

热门文章

  1. 欧若拉用计算机谱子,欧若拉简谱
  2. 这游戏全服只有一个玩家,硬是坚挺了18年,官方竟还推新版本?
  3. 计算机专业论文答辩ppt,计算机毕论文答辩PPT(完整版).ppt
  4. MFC 通用对话框之“查找/替换“对话框
  5. 第二章 JavaWeb HTML与CSS网页设计 建立第一个网页
  6. Excel常用函数大全
  7. 2019程序员好书盘点:这些畅销新书的时间轴你对上没?
  8. Nmap-主机、端口扫描工具
  9. 简单工厂模式-实现简易计算器
  10. uboot 中Nand flash 常用操作命令解析