利用dom4j读取完整的xml文档

本文介绍如何使用Dom4j库读取并解析XML文件,包括获取根元素、属性和节点等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值