文件提前结束的原因

文件提前结束的原因

文件路径是没有错的,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();

}

}

http://img1.sycdn.imooc.com//climg/5ed9016f09c9348f10320397.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2020-06-05 11:06:24

同学你好,错误提示显示xml文件提前结束,有可能是xml文件的问题。xml文件用的也是老师工程下的文件吗?如果不是的话,建议把xml文件贴出来,便于老师定位问题。

祝学习愉快!

  • 提问者 言无月 #1
    谢谢老师 该问题已解决
    2020-06-08 09:34:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师