使用Dom4j修改节点的文本值

来源:互联网 发布:淘宝月销很多评价很少 编辑:程序博客网 时间:2024/06/06 07:23

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

直接粘代码


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

原创粉丝点击