在JAVA web项目中,如果用dom4j来操作xml文件,应该怎么写SAXReader.read(“路径”),这个路径该怎么写

我写“./WebRoot/MyXml.xml”会报错,找不到路径

第1个回答  2016-08-05
可以参考 :
package com.zuxia.dom4j;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

/**
*
* 使用dom4j解析xml
*
* 1. 创建解析器
*
* 2. 创建文档对象Document
*
* 3. 获取根节点
*
*/
public class Dom4jParseXML {

public static void main(String[] args) {

//1. 创建解析器
SAXReader saxreader = new SAXReader();

Document doc = null;
try {
//2. 创建文档对象Document
doc = saxreader.read(new File("src/studentinfo.xml"));
} catch (Exception e) {
System.out.println("读取xml文件异常!");
}

//3. 获取根节点
Element root = doc.getRootElement();

//4. 获取元素
Iterator<Element> iter = root.elementIterator();

while(iter.hasNext()){

Element student = iter.next();

System.out.println("学号:"+student.attributeValue("stuno")+"\t姓名:"+student.elementText("name"));
}

//提示用户添加新的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号:");
String stuno = sc.nextLine();

System.out.println("请输入姓名:");
String name = sc.nextLine();

System.out.println("请输入年龄:");
String age = sc.nextLine();

//将数据添加在Document中
Element student = root.addElement("student");
student.addAttribute("stuno", stuno);
student.addElement("name").addText(name);
student.addElement("age").addText(age);

//3. 设置格式
OutputFormat format = OutputFormat.createCompactFormat();
format.setIndentSize(4);
format.setNewlines(true);

try {
//4. 保存xml文件
XMLWriter out = new XMLWriter(new FileOutputStream("src/studentinfo.xml"),format);

out.write(doc);

System.out.println("ok!!!");

} catch (Exception e) {
System.out.println("失败!");
}

System.out.println("完成了!");
}

}追问

doc = saxreader.read(new File("src/studentinfo.xml"));
我就是弄不明白这个路径啊。。。

相似回答