使用dom4j来解析相关的xml字符串
来源:互联网 发布:三联送货单打印软件 编辑:程序博客网 时间:2024/06/08 03:45
1. 主要方法
private Map parseXml(String xml) throws DocumentException, IOException {SAXReader reader = new SAXReader();InputStream in = IOUtils.toInputStream(xml, "UTF-8");Document doc = reader.read(in);Map map = getParseMapFromXMLStream(doc,"/ContractRoot/TcpCont/Response");return map;}
public Map getParseMapFromXMLStream(Document doc,String parentPath) throws DocumentException {List rowList = doc.selectNodes(parentPath);Map map = null;List list = null;if(rowList != null && rowList.size() >0) {list = new ArrayList();for(Iterator iter = rowList.iterator();iter.hasNext();){ map = new HashMap(); //获得具体的节点的父元素 Element element = (Element)iter.next(); //获得具体的节点的父元素的属性 // List elementList = element.attributes(); // for(Iterator iter1 = elementList.iterator();iter1.hasNext();){ // //将每个属性转化为一个抽象属性,然后获取其名字和值 // AbstractAttribute aa = (AbstractAttribute)iter1.next(); // System.out.println("Name:"+aa.getName()+";Value:"+aa.getValue()); // } //如果element下有子元素,(类似width="**"),要想获得该子元素的值,可以用如下方法 //System.out.println(element.elementText("test")); //获得父节点内的各种借点或者属性Iterator it1 = element.elementIterator();while(it1.hasNext()) {Element element1 = (Element)it1.next(); //获得子节点的所有列表 List elementList1 = element1.attributes(); // System.out.println("name is " + element1.getName() + "123 is " + element1.getText()); map.put(element1.getName(), element1.getText());// list.add(map);// for(Iterator it2 = elementList1.iterator();it2.hasNext();){ // //将每个属性转化为一个抽象属性,然后获取其名字和值 // AbstractAttribute aa = (AbstractAttribute)it2.next(); //// System.out.println("Name11:"+aa.getName()+";Value11:"+aa.getValue()); // //这边需要添加借点的名字为KEY的值(重要)// map.put(element1.getName(), aa.getValue());// }}}}return map;}
解析数据格式:
<?xml version="1.0" encoding="UTF-8"?><ContractRoot><TcpCont><TransactionID>600105A002201305031234567890</TransactionID><ActionCode>1</ActionCode><RspTime>20130918103343</RspTime><Response><RspType>0</RspType><RspCode>0000</RspCode><RspDesc>操作成功</RspDesc><CUST_SO_NUMBER>FJ2013091842549343</CUST_SO_NUMBER></Response></TcpCont><SvcCont/></ContractRoot>
- 使用dom4j来解析相关的xml字符串
- 使用Dom4j来解析xml格式字符串
- 使用dom4j来解析xml文件或xml字符串
- 使用dom4j解析xml字符串
- 使用dom4j解析xml字符串
- 使用dom4j解析xml字符串
- 使用DOM4J解析xml字符串
- 使用dom4j解析xml字符串
- 使用dom4j来解析xml文件的基本操作
- 使用dom4j来解析,生成xml文件
- java使用dom4j解析xml字符串
- dom4j解析xml字符串
- DOM4J解析xml字符串
- dom4j解析xml字符串
- dom4j解析xml字符串
- dom4j解析xml字符串
- DOM4J解析XML字符串
- dom4j解析XML字符串
- 将ContOS默认语言改成英语
- ashx中使用session[解决方案]
- 如何拿到it公司offer
- 田忌赛马
- FTP和TFTP区别
- 使用dom4j来解析相关的xml字符串
- 使用Gson将Java对象转换为JSON
- git remote使用
- uva 11198 Dancing Digits
- Linux/Unix笔记本
- python 连接sql server
- C++线性方程求解
- LIRe 源代码分析 5:提取特征向量[以颜色布局为例]
- 删除项目中的.svn文件