1、使用DOM4j输出创建和输出xml文档时可以使用标准的IO输出也可也使用dom4j提供的XMLWriter来实现,其中XMLWriter可以以规定格式输出关键代码如下:
/*
* 以标准IO流输出xml内容
PrintWriter pw = new PrintWriter(System.out);
try {
doc.write(pw);
pw.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
*/
OutputFormat ouFormat = new OutputFormat(" ", true);
ouFormat.setEncoding("gb2312");
try {
//以输出流的方式通过xmlwriter输出格式化xml内容写入到文件中
// XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File("DOM4jTest.xml")),ouFormat);
//用带缓冲区IO流通过xmlwriter输出格式化xml内容写道文件中
// XMLWriter xmlWriter = new XMLWriter(new FileWriter(new File("DOM4jTest.xml")),ouFormat);
XMLWriter xmlWriter = new XMLWriter(ouFormat);
xmlWriter.write(doc);
// xmlWriter.close();
}
2、使用dom4j访问者模式来读取xml文件,在此借助visitorsupport类 重写其中的几个方法通过调用doc.accept(Visitor visitor)来访问
具体代码:
private static class MyVisitor extends VisitorSupport{
//此类中一般重写其中的public void visit(Attribute node) {};public void visit(Elementnode) {};
//public void visit、、、、(ProcessingInstructionnode) {} 这三个方法
}
然后主函数:
SAXReader saxReader = new SAXReader();
try {
Document doc = saxReader.read(new File("student.xml"));
doc.accept(new MyVisitor());
}