|
Java编程中应用dom4j轻松地处理XML文档(2) for ( int i = 0, size = element.nodeCount(); i < size; i++ ) { Node node = element.node(i); if ( node instanceof Element ) { treeWalk( (Element) node ); } else { // 具体业务代码 } } }
4.使用XPath
在dom4j中,XPath可以作用在文档或任何节点上。
// 返回users下的所有user节点 List userlist = document.selectNodes("//users/user"); //返回users下的userid为sucode的user节点 User me = (Element)document.selectSingleNode("//users/user[@userid='sucode']");
selectSingleNode返回符合条件的第一个节点,如果有多个节点匹配,后面的节点将被忽略
5.将XML文档写入文件
我们经常要将XML文档以文件的形式保存。dom4j为XML文档写入文件系统提供了非常直观的方法:
FileWriter out = new FileWriter("users.xml"); document.write(out);
还可以通过XMLWriter指定输出时的格式:
import org.dom4j.Document; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class DOMTest { public void write(Document document) throws IOException { // 创建XMLWriter对象,目标文件users.xml,使用PrettyPrint格式 XMLWriter writer = new XMLWriter(new FileWriter("users.xml"), OutputFormat.createPrettyPrint()); // 写文档 writer.write(document); // 关闭writer writer.close(); } }
|