1. 遍历笔记[1]中生成的xml文件,并对其进行修改,代码如下:
import java.io.IOException;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.SAXReader;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.Attribute;
public class Parse_2 {
public Document parse(String sfile) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(sfile));
return document;
}
public void bar(Document document) throws IOException {
List list = document.selectNodes( "//author" );
Iterator iter=list.iterator();
System.out.println("/r/n****** 获取的数据如下 ******");
while(iter.hasNext()){
Element titleElement=(Element)iter.next();
// 修改xml元素
if(titleElement.getText().equals("James Strachan")) {
titleElement.setText("Faint Heipark");
}
System.out.print(titleElement.valueOf( "@name" ) + ":");
System.out.println(titleElement.getText());
}
// 输出全部原始数据
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter( System.out, format );
System.out.println("/r/n------------------Start------------------");
writer.write( document );
System.out.println("/r/n-------------------End-------------------");
}
public static void main(String[] args) {
Parse_2 dom4j = new Parse_2();
try {
dom4j.bar(dom4j.parse("c://output.xml"));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}