用递归方法解析XML
来源:互联网 发布:ps是什么软件 编辑:程序博客网 时间:2024/05/17 00:02
package test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.swing.RootPaneContainer;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class xml {
public static void main(String[] args) throws Exception {
String xml = "<?xml version='1.0' encoding='GBK'?><message finishTime='2012-12-18 12:03:06'><request func='car_pay_sync' return='true'><content><orderInfo><insuranceApplicantNo>TDDK201233019102001557</insuranceApplicantNo ><paymentNo>123456</paymentNo><paymentTime>2012-12-1812:03:06</paymentTime><payTime>2012-12-18 12:03:06</payTime><payType>快钱POS </payType><utmsn>123456</utmsn></orderInfo></content></request></message>";
Map<String, Object> map = new HashMap<String,Object>();
//读取xml转换的字符串
Document document = DocumentHelper.parseText(xml);
Element root=document.getRootElement();//获取根节点
getNodes(root);//从根节点开始遍历所有节点
}
public static void getNodes(Element node){
System.out.println("--------------------");
//当前节点的名称、文本内容和属性
System.out.println("当前节点名称:"+node.getName());//当前节点名称
System.out.println("当前节点的内容:"+node.getTextTrim());//当前节点名称
List<Attribute> listAttr=node.attributes();//当前节点的所有属性的list
for(Attribute attr:listAttr){//遍历当前节点的所有属性
String name=attr.getName();//属性名称
String value=attr.getValue();//属性的值
System.out.println("属性名称:"+name+"属性值:"+value);
}
//递归遍历当前节点所有的子节点
List<Element> listElement=node.elements();//所有一级子节点的list
for(Element e:listElement){//遍历所有一级子节点
getNodes(e);//递归
}
}
}
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.swing.RootPaneContainer;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class xml {
public static void main(String[] args) throws Exception {
String xml = "<?xml version='1.0' encoding='GBK'?><message finishTime='2012-12-18 12:03:06'><request func='car_pay_sync' return='true'><content><orderInfo><insuranceApplicantNo>TDDK201233019102001557</insuranceApplicantNo ><paymentNo>123456</paymentNo><paymentTime>2012-12-1812:03:06</paymentTime><payTime>2012-12-18 12:03:06</payTime><payType>快钱POS </payType><utmsn>123456</utmsn></orderInfo></content></request></message>";
Map<String, Object> map = new HashMap<String,Object>();
//读取xml转换的字符串
Document document = DocumentHelper.parseText(xml);
Element root=document.getRootElement();//获取根节点
getNodes(root);//从根节点开始遍历所有节点
}
public static void getNodes(Element node){
System.out.println("--------------------");
//当前节点的名称、文本内容和属性
System.out.println("当前节点名称:"+node.getName());//当前节点名称
System.out.println("当前节点的内容:"+node.getTextTrim());//当前节点名称
List<Attribute> listAttr=node.attributes();//当前节点的所有属性的list
for(Attribute attr:listAttr){//遍历当前节点的所有属性
String name=attr.getName();//属性名称
String value=attr.getValue();//属性的值
System.out.println("属性名称:"+name+"属性值:"+value);
}
//递归遍历当前节点所有的子节点
List<Element> listElement=node.elements();//所有一级子节点的list
for(Element e:listElement){//遍历所有一级子节点
getNodes(e);//递归
}
}
}
阅读全文
2 0
- 用递归方法解析XML
- dom4j递归解析xml
- Dom4j递归解析XML实现JS的getElementsByName类似方法
- Dom4j递归解析XML实现JS的getElementsByName类似方法
- 用递归方法读取XML节点
- Java Dom 递归解析XML
- golang xml 递归嵌套解析
- 递归方式解析xml文档
- xml递归解析成Map
- 用递归方式解析XML的任意文件
- 用DOM4j 对.XML文件解析方法
- Android 用Pull方法解析XML文件
- dom4j解析xml方法
- XML 解析方法
- 多种XML解析方法
- XML的解析方法
- 解析xml的方法
- xml的解析方法
- 主元素I
- 23.6 23.7 Web environment Web环境变量读取
- JavaMail笔记
- 通过NFS方式进行源码级别的共享进行多台机器间的部署。
- Initialization error Could not load "D:\install\PLSQL\instantclient_11_2\oci
- 用递归方法解析XML
- 天猫页面之一(公共页面)
- bzoj 4653: [Noi2016]区间 (线段树)
- 六款值得推荐的android(安卓)开源框架简介
- android Toolbar浅谈
- Maven 创建项目
- 96-100.个人练习
- Android基础之Android项目目录结构
- SQL提供的安全性与完整性