您的位置:首页 > 其它

利用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()+">");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: