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