首页 > 代码库 > 2014年10月13日写:修改添加xml元素
2014年10月13日写:修改添加xml元素
package haha;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.Iterator;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class ModiXmlFile { private String filename; private SAXReader saxReader; private Document document; ModiXmlFile(String _filename) { this.filename = _filename; saxReader = new SAXReader(); try { document = saxReader.read(filename); } catch (DocumentException e) { System.err.println("获取 [" + filename + "]文档时,发生了错误"); } } /** * 在所有的二级元素下添加元素,若已有则不填加。 * @param nodeName 元素名 * @param initValue 初始值 * @return 若添加了元素,返回true。没有添加返回false */ @SuppressWarnings("unchecked") public Boolean addNode(String nodeName, String initValue) { Element root = document.getRootElement(); List<Element> elements = root.elements(); Iterator<Element> it = elements.iterator(); Element tempElement; Boolean result=false; while (it.hasNext()) { tempElement=it.next(); if (tempElement.element(nodeName)==null) { tempElement.addElement(nodeName).setText(initValue); result=true; } } if (result) { if (fflush()) return true; else return false; } else { return false; } }/** * 根据所给的id,修改第id个二级元素拥有的指定元素的值 * @param id 二级元素的次序 * @param nodeName 指定元素的名字 * @param value 值 * @return 修改成功或失败(没有此元素); */ @SuppressWarnings("unchecked") public Boolean setNodeValue(Integer id, String nodeName, String value) { Element root = document.getRootElement(); List<Element> elements = root.elements(); Iterator<Element> it = elements.iterator(); boolean result=false; Element tempElement; while (it.hasNext()) { tempElement=it.next(); if (--id!=0) { continue; } if (tempElement==null) { System.err.println("没有此节点"); return false; } tempElement.element(nodeName).setText(value); result=true; break; } if (!result) { System.err.println("指定的次序超过了总二级元素个数"); return false; } else if (fflush()) { return true; } else { return false; } } private Boolean fflush() { XMLWriter output; try { output = new XMLWriter(new FileWriter(new File(filename))); output.write(document); output.close(); } catch (IOException e) { System.err.println("打开 [" + filename + "],发生了错误"); return false; } return true; }}
2014年10月13日写:修改添加xml元素
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。