急用,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>
解析,解析出来的格式不限 越简单易懂越好 展开
<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>
解析,解析出来的格式不限 越简单易懂越好 展开
展开全部
/**
*
*/
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);
}
}
}
}
}
*
*/
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);
}
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询