<?xml version="1.0" encoding="UTF-8"?>
<abc>
<a>111</a>
<b>2222</b>
<bc>
<url>http://forum.csdn.net/2121</url>
<url>http://forum.csdn.net/444</url>
<url>http://forum.csdn.net/222</url>
<url>http://forum.csdn.net/2342</url>
<url>http://forum.csdn.net/234</url>
<url>http://forum.csdn.net/33</url>
<url>http://forum.csdn.net/44</url>
<url>http://forum.csdn.net/555</url>
<url>http://forum.csdn.net/666</url>
</bc>
</abc>上述这种格式的XML。 我需要把 url的节点的内容全部解析出来,用dom4j怎么解析? 如果我解析出来了,我根据什么去修改url的某一个节点? 谢谢
<abc>
<a>111</a>
<b>2222</b>
<bc>
<url>http://forum.csdn.net/2121</url>
<url>http://forum.csdn.net/444</url>
<url>http://forum.csdn.net/222</url>
<url>http://forum.csdn.net/2342</url>
<url>http://forum.csdn.net/234</url>
<url>http://forum.csdn.net/33</url>
<url>http://forum.csdn.net/44</url>
<url>http://forum.csdn.net/555</url>
<url>http://forum.csdn.net/666</url>
</bc>
</abc>上述这种格式的XML。 我需要把 url的节点的内容全部解析出来,用dom4j怎么解析? 如果我解析出来了,我根据什么去修改url的某一个节点? 谢谢
解决方案 »
- struts2 中的action不执行execute方法,直接跳转INPUT
- struts2中在执行action后,不希望跳转到一个页面而停留在当前页
- Java 的中文存储和显示问题
- 大家帮忙看一看!!
- HQL一对我关联查询
- java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
- 菜鸟求助~请高手帮忙~ 谢谢
- hibernate中的inverse和cascade
- 请有工作经验的朋友告诉我一声
- tomcat如何做到自动reload呢?谢谢了
- java.sql.SQLException: ORA-01000: maximum open cursors exceeded
- 求一个真实的进度条的实现方法
XML 怎么修改某一个节点的值? 是需要全部取出来,再全部写进去吗?
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;public class Test1 { public static void main(String[] args) {
SAXReader reader = new SAXReader();
File file = new File("d:\\test.xml");
try {
Document document = reader.read(file);
List<Element> urls = document.selectNodes("abc/bc/url");
if(urls != null && urls.size() > 0){
for(Iterator it = urls.iterator();it.hasNext();){
Element url = (Element)it.next();
System.out.println(url.getText());//打印原值
url.setText("http://forum.csdn.net/");//修改
}
}
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter output = new XMLWriter(new FileOutputStream(new File("d:\\test1.xml")), format);
output.write(document);
output.close(); } catch (Exception e) {
e.printStackTrace();
}
}
}