首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

运用DOM4J解析XML的一个例子

2012-06-28 
使用DOM4J解析XML的一个例子(1)创建ParseXML用来封装DOM4J解析XMLpackage com.system.demoimport java.io

使用DOM4J解析XML的一个例子

(1)创建ParseXML用来封装DOM4J解析XML

package com.system.demo;import java.io.File;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.Node;import org.dom4j.io.SAXReader;public class ParseXML {StringBuffer result = new StringBuffer();Document doc = null;// 无参数构造方法public ParseXML() {}// 读取传入的XML文件,返回XML文档对象public void read(String fileName) throws Exception {SAXReader reader = new SAXReader();doc = reader.read(new File(fileName));}// 传入根元素启动递归遍历public void treeWalk() {treeWalk(doc.getRootElement());}// 递归遍历XML文档public void treeWalk(Element element) {for (int i = 0, size = element.nodeCount(); i < size; i++) {Node node = element.node(i);// 如果子节点是子元素,继续递归if (node instanceof Element) {if (node.getText().trim().length() > 0)result.append(node.getName() + " = ");elseresult.append("<br>联系人记录<br>");treeWalk((Element) node);} else {// 否则就输出子节点的文本值if (node.getText().trim().length() > 0)result.append(node.getText() + "<br>");}}}// 取得XML的解析结果public String getResult() {return result.toString();}}

?

?

调用代码(JSP中的一部分):

  //取得xml的绝对物理路径  String fileName = request.getRealPath("test.xml");  // 读取XML文件  myParse.read(fileName);  //遍历内存中的XML文件  myParse.treeWalk();  //输出结果 用于JSP输出  out.println(myParse.getResult());  

?

test.xml

<?xml version="1.0" encoding="UTF-8"?><linkmans>    <linkman>        <name>张三</name>        <id>001</id>        <company>A公司</company>        <email>zhang@aaa.com</email>        <tel>(020)12345678</tel>        <address>广东省广州市</address>    </linkman></linkmans>
?

热点排行