java封装xml_JAVA dom4j 学习三 封装XML

packageutils.dom4jutils;importjava.io.FileOutputStream;importjava.util.List;importorg.dom4j.Document;importorg.dom4j.DocumentHelper;importorg.dom4j.Element;importorg.dom4j.io.OutputFormat;importorg.dom4j.io.SAXReader;importorg.dom4j.io.XMLWriter;

public classDom4jUtils {//1:获取document

public staticDocument getDocument(String path){try{//构建解析器

SAXReader saxReader=newSAXReader();//获取document对象

Document document=saxReader.read(path);returndocument;

}catch(Exception e) {

e.printStackTrace();

}return null;

}//2回写xml

public static voidxmlWrites(String path,Document document){try{//获取设置xml格式实例

OutputFormat format=OutputFormat.createPrettyPrint();//读取xml

XMLWriter xmlWriter=new XMLWriter(newFileOutputStream(path),format);//回写到xml文件

xmlWriter.write(document);//关闭文件流

xmlWriter.close();

}catch(Exception e) {

e.printStackTrace();

}

}//3创建元素标签,返回元素对象

public staticElement getElement(String qname,String textString){try{//创建element标签

Element element=DocumentHelper.createElement(qname);//向element标签中加入内容

element.setText(textString);returnelement;

}catch(Exception e) {

e.printStackTrace();

}return null;

}//4增加根节点下的第i个节点增加内容为i的节点

public static void addRootChild(String path,intindex,String qname,String textString){//获取document

Document document=Dom4jUtils.getDocument(path);//获取根节点

Element root=document.getRootElement();//获取root下的所有元素

List list=root.elements();//创建元素标签

Element element=Dom4jUtils.getElement(qname, textString);//把element加入根节点下

list.add(index,element);//回写xml

xmlWrites(path, document);

}//5遍历xml文件之递归

public static voidgetElements(Element element) {

List list=element.elements();//遍历xml

for(int i=0; i

System.out.println(list.get(i));

List l=list.get(i).elements();

System.out.println(l.size());

getElements(list.get(i));

}

}//6遍历xml文件

public static voidgetElements(String path) {//获取document

Document document=Dom4jUtils.getDocument(path);//获取根节点

Element root=document.getRootElement();

getElements(root);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值