使用Dom4j修改节点的文本值

原创 2013年12月03日 22:09:48

由于时间的紧迫,我写的不是很详细。

直接粘代码


public void modifyXml(File xmlFile, Map<String, String> valueMap, String startNode) {


XMLWriter writer = null;
try {


SAXReader saxReader = new SAXReader();
Document document = saxReader.read(xmlFile);
List list = document.selectNodes("//" + startNode);
Iterator iterator = list.iterator();
while (iterator.hasNext()) {


Element element = (Element) iterator.next();

Iterator<String> keyIterator= valueMap.keySet().iterator();
while(keyIterator.hasNext()){
String key = keyIterator.next();
Iterator elemetIteratorKey = element.elementIterator(key);
while(elemetIteratorKey.hasNext()){

Element keyElement = (Element) elemetIteratorKey.next();
keyElement.setText(valueMap.get(key));
}
}

}
writer = new XMLWriter(new FileWriter(new File("e:\\was.xml")));
writer.write(document);
} catch (DocumentException e) {
// TODO: handle exception
e.printStackTrace();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
} finally {


try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


请注意xml的路径


下面两个jar包一定要导入。jaxen-1.1.1.jar   dom4j-2.0.0-ALPHA-2.jar

相关文章推荐

Dom4j解析xml文件-操作节点和属性及写入其他xml文件

引言        上一篇把Dom4j遍历xml文件的所有节点和属性分享了一下,这篇我就简单明了的分享一下,对xml文件的各个节点及属性进行增、删、改的操作并写入新的或者保存到xml文件中,下边的代码...

利用dom4j学习xml(三) 修改子节点的属性值

Document document;  SAXReader reader = new SAXReader();  String path=ServletActionContext.getRequest...

修改xml中某节点的值

如果是简单或者标准格式的xml,可以使用xstream,之前映射成一个对象然后去修改操作,很简单。 但是如果是负杂的,而且有可能xml的节点内容不一样,该怎么做呢? 一下是我的一种解决方法,当然可...

dom4j修改节点属性及写入文件

Posted by ~冰点~ 2006-11-24 15:48:00/**  * 对指定的节点增加属性和文本  * @param elmt  * @param name  * @param value...

dom4j解析和修改xml

Dom4j 操作, 节点查找 添加 删除 修改 。。。xPath

package com.kevin.java; import static org.junit.Assert.*; import java.io.File; import java.io.File...

java-怎样在main方法中调用action

java中spring 框架 中的action操作()

如何给Main方法传参数

今天项目里需要调用一个控制台应用程序,并且给Main方法传参数,可参考如下做法: using System; namespace ConsoleArgs { class Program ...

dom4j 删除所有节点的文本都为空的父节点

xml 如下,如果row节点的子节点的text全部为空就删除row 节点。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Dom4j修改节点的文本值
举报原因:
原因补充:

(最多只允许输入30个字)