利用dom4j读取完整的xml文档
2015-09-29 11:50
155 查看
package gz.ksc.a_dom4j_read;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.Text;
import org.dom4j.io.SAXReader;
import org.junit.Test;
public class Demo3 {
/*
* 读取完整的xml文档
*
*/
@Test
public void test()throws Exception{
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("./src/contact.xml"));
Element rootElement = doc.getRootElement();
StringBuffer sb = new StringBuffer();
getChildNodes(rootElement,sb);
System.out.println(sb.toString());
}
private void getChildNodes(Element elem, StringBuffer sb) {
sb.append("<"+elem.getName());
List<Attribute> list = elem.attributes();
if(list!=null){
for(Attribute attr : list){
sb.append( attr.getName()+"=\""+attr.getValue()+"\"");
}
}
sb.append(">");
Iterator<Node> it = elem.nodeIterator();
while(it.hasNext()){
Node node = it.next();
if(node instanceof Element){
Element el = (Element)node;
getChildNodes(el, sb);
}
if(node instanceof Text){
Text tx= (Text)node;
sb.append(tx.getText());
}
}
sb.append("</"+elem.getName()+">");
}
}
import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.Text;
import org.dom4j.io.SAXReader;
import org.junit.Test;
public class Demo3 {
/*
* 读取完整的xml文档
*
*/
@Test
public void test()throws Exception{
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("./src/contact.xml"));
Element rootElement = doc.getRootElement();
StringBuffer sb = new StringBuffer();
getChildNodes(rootElement,sb);
System.out.println(sb.toString());
}
private void getChildNodes(Element elem, StringBuffer sb) {
sb.append("<"+elem.getName());
List<Attribute> list = elem.attributes();
if(list!=null){
for(Attribute attr : list){
sb.append( attr.getName()+"=\""+attr.getValue()+"\"");
}
}
sb.append(">");
Iterator<Node> it = elem.nodeIterator();
while(it.hasNext()){
Node node = it.next();
if(node instanceof Element){
Element el = (Element)node;
getChildNodes(el, sb);
}
if(node instanceof Text){
Text tx= (Text)node;
sb.append(tx.getText());
}
}
sb.append("</"+elem.getName()+">");
}
}
相关文章推荐
- windows下常见cmd命令
- Java Web读取properties配置文件
- Java动态代理的实现机制
- Makefile浅尝
- 使用 Attribute +反射 来对两个类之间动态赋值
- less 初试
- [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld
- APP留存技巧,请给用户一个打开app 的理由
- xib中设置TableView的HeaderView
- 记录一个IT菜鸟的成长之路。
- Tomcat中server.xml文件内各节点详解
- leetcode12
- 【转载,超级实用】C++11 标准新特性: 右值引用与转移语义
- redmine 安装问题记录
- tair(二)--概述
- zeromq的使用:例子分析
- python string to hex,字符串转16进制
- php 取余的两个问题
- Spring MVC password example
- Python 数据排序和列表迭代和列表推导应用