java jdom2_JDOM 生成和解析XML(二)
//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(二)相关推荐
- Java JDOM生成和解析XML
一)JDOM介绍 使用方式:需要下载jdom对应的jar引入 <dependency><groupId>org.jdom</groupId><artifact ...
- Java实现生成和解析二维码
Java实现生成和解析二维码 文章目录 Java实现生成和解析二维码 一.建立项目 二.创建工具类 三.创建启动类 一.建立项目 首先需要创建一个普通的 Maven 项目,在这里我用的是 google ...
- java微信开发API解析(二)-获取消息和回复消息
java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...
- java解析xml实例_在java中使用dom解析xml的示例分析
本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...
- java使用SAX接口解析xml文件
全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用SAX接口解析xml文件.实现解析类,从xml解析开始到结尾,每一步均会触发对象的重载函数. 测试代码,将book1.xml改成你自己 ...
- java使用xpath解析xml,java如何使用xpath解析xml
java如何使用xpath解析xml 发布时间:2020-12-08 12:28:00 来源:亿速云 阅读:60 作者:小新 这篇文章给大家分享的是有关java如何使用xpath解析xml的内容.小编 ...
- JAVA中利用DOM解析XML文档
JAVA中利用DOM解析XML文档 package org.sws.utils; import java.io.File;import java.io.IOException; import java ...
- Java自定义生成与解析(Dom4J)XML文件
XML(Extensible Markup Language):可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 应用:XML 应用于 web 开发的许多方面, ...
- JAVA动态读取xml_Java动态生成和解析xml文件步骤详解
packageday12;importjava.io.FileInputStream;importjava.util.ArrayList;importjava.util.List;importorg. ...
- 大杂烩 -- 四种生成和解析XML文档的方法详解
基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...
最新文章
- mysql两列查询结果列拼接一个表输出_sql select语句,查询出两列结果拼接在一起...
- android简单app实例_Android安卓小项目实战视频教程集锦
- BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]
- chromium浏览器_Chromium版Edge浏览器正式上线:安装包仅2.2MB
- java喷泉编码_好程序员Java教程分享使用JS实现简单喷泉效果
- PARALLEL(并行)
- Reverse digits of an integer
- web前端工程师必须掌握的24条宝贵经验!
- 【转】Qt之文件操作 QFile
- 牛客网模拟笔试——膨胀的牛牛(JavaScript)
- uuid和python中的uuid.py的使用教程
- Apache Kylin 入门 1 - 基本概念
- ping 丢包 网络摄像头_Ping丢包故障案例
- 资源协调与跨部门沟通技巧
- STM32:I2S驱动WM8978
- ir2104驱动电路原理
- Python之保留字
- MSDN 我告诉你 window实用软件下载地址
- XCode6如何创建Category
- 抑制剂以及抗体偶联物在免疫检查点中的作用
热门文章
- 欧若拉用计算机谱子,欧若拉简谱
- 这游戏全服只有一个玩家,硬是坚挺了18年,官方竟还推新版本?
- 计算机专业论文答辩ppt,计算机毕论文答辩PPT(完整版).ppt
- MFC 通用对话框之“查找/替换“对话框
- 第二章 JavaWeb HTML与CSS网页设计 建立第一个网页
- Excel常用函数大全
- 2019程序员好书盘点:这些畅销新书的时间轴你对上没?
- Nmap-主机、端口扫描工具
- 简单工厂模式-实现简易计算器
- uboot 中Nand flash 常用操作命令解析