文件提前结束的原因
文件路径是没有错的,readXml1( )方法可以正常运行
package test_7;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Lab_1 {
public void writexml() {
String file = "F:\\Study-Text\\java\\T1\\bin\\lab_1.xml";
SAXReader reader = new SAXReader();
try {
Document document = reader.read(file);
Element root = document.getRootElement();
Element employee = root.addElement("employee");
employee.addAttribute("num", "3012");
// employee.addElement("name","芳六");
Element name = employee.addElement("name");
name.setText("芳六");
employee.addElement("age", "18");
employee.addElement("salary", "5000");
Element department = employee.addElement("department");
department.addElement("dname", "调研部");
department.addElement("address", "XX大夏-B1302");
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
document.write(writer);
writer.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void readXml1() {
String file = "F:\\Study-Text\\java\\T1\\bin\\lab_1.xml";
SAXReader reader = new SAXReader();
try {
Document document = reader.read(file);
Element root = document.getRootElement();
List<Element> employees = root.elements("employee");
for (Element employee : employees) {
System.out.println(employee.element("name").getText());
System.out.println(employee.elementText("age"));
System.out.println(employee.elementText("salary"));
Element department = employee.element("department");
System.out.println(department.elementText("dname"));
System.out.println(department.elementText("address"));
Attribute att = employee.attribute("num");
System.out.println(att.getText());
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void readXml() {
String file = "F:\\Study-Text\\java\\T1\\bin\\lab_1.xml";
// String file ="../lab_1.xml";
// SAXReader类是读取XML的核心类,用于将xml读取后以树的形式保存在内存中
SAXReader reader = new SAXReader();
try {
Document document = reader.read(file);
// 获取XML文档的根节点,即hr标签
Element root = document.getRootElement();
List<Element> employees = root.elements("employee");
for (Element employee : employees) {
// element()用于获取唯一子节点对象
Element name = employee.element("name");
// getText()方法用于获取文本标签
String empName = name.getText();
System.out.println(empName);
System.out.println(employee.elementText("age"));
System.out.println(employee.elementText("salary"));
Element department = employee.element("department");
System.out.println(department.element("dname").getText());
System.out.println(department.elementText("address"));
Attribute att = employee.attribute("num");
System.out.println(att.getText());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Lab_1 lab_1 = new Lab_1();
// lab_1.readXml1();
lab_1.writexml();
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星