java解析Xml格式的字符串
最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是xml格式的,结果在解析json的时候报错,最终修改了接口的返回方式,以Map返回,
才得以接收到这个xml的字符串,然后通过dom4j来解析这个xml字符串。xml格式如图:

解析代码如下:
/**
* dom4j解析Xml
* @param xml
*/
public void getXmlAttribute(String xml) {
Document doc = null;
try {
// 将字符串转为XML
doc = DocumentHelper.parseText(xml);
// 获取根节点
Element rootElt = doc.getRootElement();
//获取城市名
String cityPair = rootElt.attributeValue("CityPair");
System.out.println(cityPair);
//获取CWS节点
Iterator CWS = rootElt.elementIterator("CWS");
while (CWS.hasNext()) {
Element recordEle = (Element) CWS.next();
//获取ABK节点
Iterator ABK = recordEle.elementIterator("ABK");
while (ABK.hasNext()) {
Element abkRecord = (Element) ABK.next();
//获取ABK节点下的所有节点
Iterator f = abkRecord.elementIterator();
while (f.hasNext()) {
BkresultBean bkresultBean = new BkresultBean();
Element itemAtr = (Element) f.next();
//获取需要的数据
itemAtr.elementText("");
String berth1 = itemAtr.attributeValue("Berth1");
String priceOfOne = itemAtr.attributeValue("PriceOfOne");
System.out.println(berth1 + priceOfOne);
// bkresultBean.setBerth1(berth1);
// bkresultBean.setPriceofone(priceOfOne);
// bkresultBean.setFightline(cityPair);
// bkresultBeans.add(bkresultBean);
}
}
}
//插入数据
// bkresultBeans.forEach(bkresultBean -> {
// Integer insert = bkresultMapper.insertAllColumn(bkresultBean);
// });
} catch (DocumentException e) {
e.printStackTrace();
}
}
小结
工作总结。
java解析Xml格式的字符串的更多相关文章
- Dom4j解析xml格式的字符串【java】
一般我们会使用dom4j.SAX.w3c来解析xml文件,网上也大多提供此类解决方案. 但在实际项目中,也有会解析xml格式的字符串报文的. 比如,有如下字符串: String = "< ...
- Java中XML格式的字符串4读取方式的简单比较
Java中XML格式的字符串4读取方式的简单比较 1.java自带的DOM解析. import java.io.StringReader; import javax.xml.parsers.Docum ...
- Java解析XML格式串(JDOM解析)
import java.io.IOException; import java.io.StringReader; import java.util.List; import org.jdom.Docu ...
- C# 解析XML格式的字符串
public CreateOrderReturnResult GetCreateOrderReturnApi() { var result = new CreateOrderReturnResult( ...
- [Java] Java解析XML格式Response后组装成Map
//Get and Parse Response def response = context.expand(‘${TestStepName#Response}’) def xmlParser = n ...
- 使用Java解析XML文件或XML字符串的例子
转: 使用Java解析XML文件或XML字符串的例子 2017年09月16日 11:36:18 inter_peng 阅读数:4561 标签: JavaXML-Parserdom4j 更多 个人分类: ...
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...
- Java解析XML的四种方法详解 - 转载
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法 在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化 ...
- XML基础+Java解析XML +几种解析方式的性能比较
XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...
随机推荐
- apt代理设置
内网apt使用代理 /etc/apt/apt.conf Acquire::http::Proxy "http://guest:password@ip:port";
- Ansible2:主机清单
目录 Hosts and Groups(主机与组) 简单的主机和组 端口与别名 指定主机范围 使用主机变量 组内变量 组的包含与组内变量 Patterns(主机与组正则匹配部分) 1. 表示所有的主机 ...
- 装饰器 and 闭包函数 未完。。。。。
装饰器是一个返回函数的高阶函数.装饰器=高阶函数+函数嵌套+闭包 装饰器需要遵循的原则:不修改被装饰函数的源代码,不修改被装饰函数的调用方式. 高阶函数 1.函数接收的参数是一个函数名 2.函数的返回 ...
- Nginx location 配置用法及正则例子
Nginx location 配置语法 1. location [ = | ~ | ~* | ^~ ] uri { ... } 2. location @name { ... } ...
- 2017 清北济南考前刷题Day 7 afternoon
期望得分:100+100+30=230 实际得分:100+100+30=230 1. 三向城 题目描述 三向城是一个巨大的城市,之所以叫这个名字,是因为城市中遍布着数不尽的三岔路口.(来自取名力为0的 ...
- 用 Love2D 实现法线贴图的例程(到最新版本 0.10.1)
用 Love2D 实现法线贴图的例程(到最新版本 0.10.1) 概述 一般来说, 复杂的光照模型会被用在 3D 游戏中, 以产生逼真的效果, 不过也有些开发者研究出一些代码可以在 2D 游戏中使用这 ...
- python学习笔记3-函数的递归
递归就是指自己函数的自我调用 #递归 #自己调用自己,函数的循环 def test1(): num = int(input('please enter a number:')) if num%2==0 ...
- [转载]如何做到 jQuery-free?
http://www.ruanyifeng.com/blog/2013/05/jquery-free.html jQuery是现在最流行的JavaScript工具库. 据统计,目前全世界57.3%的网 ...
- 【AtCoder】ARC067 F - Yakiniku Restaurants 单调栈+矩阵差分
[题目]F - Yakiniku Restaurants [题意]给定n和m,有n个饭店和m张票,给出Ai表示从饭店i到i+1的距离,给出矩阵B(i,j)表示在第i家饭店使用票j的收益,求任选起点和终 ...
- jQuery核心函数——(一)