急用,dom4j解析xml文件

<?xmlversion="1.0"encoding="UTF-8"?><students><!--这是一个dom4j生成的xml文件--><?targertext?><... <?xml version="1.0" encoding="UTF-8"?>

<students>
<!--这是一个dom4j生成的xml文件--><?targer text?>

<student id="1">
<name>令狐冲</name>
<age>22</age>
<address>陕西华山</address>
</student>
<student id="2">
<name>韦小宝</name>
<age>21</age>
<address>江苏扬州</address>
</student>
</students>
解析,解析出来的格式不限 越简单易懂越好
展开
 我来答
anwzxyp
2010-04-15 · TA获得超过101个赞
知道答主
回答量:131
采纳率:0%
帮助的人:44.1万
展开全部
/**
*
*/
package test.actions;

import java.io.File;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

/**
* @author Administrator
*
*/
public class ParseXmlExample {

/**
* @param args
* 你在百度上提供的XML文档,存在格式和多余空格的问题,更正后再解析
*/
public static void main(String[] args) {
File file = new File("你的文件路径");
parseModelXml(file);
}

private static void parseModelXml(File file){
SAXReader reader=new SAXReader();
try {
//得到XML文档对象
Document doc=reader.read(file);
//获得根节点
Element root=doc.getRootElement();
String rootName=root.getName();
List<Element> list=doc.selectNodes(rootName+"/*");
for(int i=0;i<list.size();i++){
Element element=(Element)list.get(i);
walkNodes(element);
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
//递归解析
private static void walkNodes(Element element){

for(int i=0;i<element.nodeCount();i++){
Node node=element.node(i);
System.out.println(node.getNodeTypeName());
if(node instanceof Element){
walkNodes((Element)node);
}else{
String str=node.getText().trim();
if(null==str){
str="";
}
if(!"".equals(str)){
System.out.println("text is :"+str);
}
}
}
}
}
yn098
2010-04-03 · TA获得超过207个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:321万
展开全部
你想问的是什么,是用dom4j解析这个文件的什么呀?找想要节点吗?用xpath就好了呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式