xml、map、json相互转换
练习四
1、了解xml 格式以及解析方法,掌握xml与map互转的方法
2、了解json格式以及解析方法,掌握json与map互转的方法
3、新建测试方法,将以下xml格式报文转换成json格式报文
以下一个练习将会包含到xml2map、map2json,所以间接形成了xml2json。
反向转换也可以参考转换时用到的工具类和方法
interBoss.xml文件
点击查看代码
-
IndictSeq
20210726CSVC2700000003
-
CallerNo
18271403993
-
CalledNo
10086
-
MSISDN
18271403993
-
SubsName
*树宏
-
SubsLevel
04
-
SubsBrand
01
-
SvcTypeId
10010105020101
-
UrgentId
03
-
HomeProv
270
]]>
实现过程Xml2Json.java
点击查看代码
public class Xml2Json {
public static void main(String[] args) {
Map map = new HashMap();
try {
InputStream is = new FileInputStream(new File("src/main/resources/test/interBOSS.xml"));
SAXReader sax = new SAXReader(); //创建解析器
Document doc = sax.read(is); //read方法将配置读到内存中,创建对应的Document[org.dom4j]对象树
Element root = doc.getRootElement(); //获取XML文档的根节点对象
//遍历根节点
HashMap rootMap = new HashMap<>();
HashMap SvcContMap = new HashMap<>();
HashMap CDATAMap = new HashMap<>();
HashMap SvcRootMap = new HashMap<>();
List
执行实现结果:
"InterBOSS": {
"SvcCont": {
"SvcRoot": [
{
"Item": {
"Name": "IndictSeq",
"Value": "20210726CSVC2700000003"
}
},
{
"Item": {
"Name": "CallerNo",
"Value": "*************"
}
},
{
"Item": {
"Name": "CalledNo",
"Value": "10086"
}
},
{
"Item": {
"Name": "MSISDN",
"Value": "*************"
}
},
{
"Item": {
"Name": "SubsName",
"Value": "**********************"
}
},
{
"Item": {
"Name": "SubsLevel",
"Value": "04"
}
},
{
"Item": {
"Name": "SubsBrand",
"Value": "01"
}
},
{
"Item": {
"Name": "SvcTypeId",
"Value": "10010105020101"
}
},
{
"Item": {
"Name": "UrgentId",
"Value": "03"
}
},
{
"Item": {
"Name": "HomeProv",
"Value": "270"
}
}
]
}
}
},
原文:https://www.cnblogs.com/dagwj/p/15107880.html