+"<FromUserName><![CDATA[fromUser]]></FromUserName>"
+"<CreateTime>12345678</CreateTime>"
+"<MsgType><![CDATA[text]]></MsgType>"
+"<Content><![CDATA[你好]]></Content></xml>"
try {
//加载xml字符串
org.dom4j.Document document=org.dom4j.DocumentHelper.parseText(xml)
//获取根节点
org.dom4j.Element root=document.getRootElement()
//获取值 ==toUser
String toUserName=root.elementText("ToUserName")
System.out.println(toUserName)
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
package testimport java.io.File
import java.io.IOException
import java.util.List
import org.jdom2.Document
import org.jdom2.Element
import org.jdom2.JDOMException
import org.jdom2.input.SAXBuilder
/**
* 使用JDOM实现XML解析,jar包:jdom-2.0.5.jar
* @author zhurongfu
*
*/
public class JdomTest {
public static void parseXml (File file) throws JDOMException, IOException{
SAXBuilder sax = new SAXBuilder()
Document doc = sax.build(file)
Element root = doc.getRootElement()
parseElement(root)
}
private static void parseElement(Element element) {
// TODO Auto-generated method stub
List<Element>elementList = element.getChildren()
for(Element e:elementList){
if(e.getChildren().size() >0){
parseElement(e)
}else {
String elementName = e.getName()
if("id".equals(elementName)){
System.out.println("a的值为:"+e.getValue())
}else if("destaddr".equals(elementName)) {
System.out.println("b的值为:"+e.getValue())
}else if("status".equals(elementName)){
System.out.println("c的值为:"+e.getValue())
}
}
}
}
public static void main(String[] args) throws JDOMException, IOException {
// TODO Auto-generated method stub
File file = new File("test.xml")
parseXml(file)
}
}
(1)DOM解析
DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取
(2)SAX(Simple API for XML)解析
流模型中的"推"模型分析方式。通过事件驱动,每发现一个节点就引发一个事件,事件推给事件处理器,通过回调方法
(1)、dom解析
dom解析是html和xml的应用程序接口(api) 以层次结构(类似与树形)来组织节点 和信息片段 映射xml文档的结构 允许获取和操作文档的任意部分 是官方标准
(2)、sax解析
流模型中in个的 推 模型 分析方式 通过事件驱动 没发现一个节点就引发一个事件 事件推给事件处理期 遍历回调方法
(3)、stax
流模型中的拉模型分析方式 提供基于指针和基于迭代器两种方式 的支持1.6新特征
(4)、jdom
java特定的文档对象模型 自身不包含解析器 使用sax
(5)、jdom4j
简单易用 采用java集合框架 兵完全支持dom sax 和jaxp