老师来康康,有几个问题

老师来康康,有几个问题

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE teaching-plan SYSTEM "teaching-plan.dtd">
<teaching-plan>
<course id="001">
<course-name>大学英语</course-name>
<class-hour>36</class-hour>
<exam-form>考试</exam-form>
</course>
<course id="002">
<course-name>高等数学</course-name>
<class-hour>70</class-hour>
<exam-form>考试</exam-form>
</course>
<course id="003">
<course-name>计算机应用基础</course-name>
<class-hour>108</class-hour>
<exam-form>上机考试</exam-form>
</course>
</teaching-plan>
=====================================
package com.imooc.dom4j;

import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class PlanReader {
	public void readXml() {
		String file="E:/Users/Weng/eclipse-workspace/mxl/src/teaching-plan.xml";
		SAXReader reader=new SAXReader();
		try {
			Document document=reader.read(file);
			Element root=document.getRootElement();
			List<Element> courses=root.elements("course");
			for(Element course:courses) {
				
				System.out.println(course.attribute("id").getText());
				System.out.println(course.element("course-name").getText());
				System.out.println(course.element("class-hour").getText());
				System.out.println(course.element("exam-form").getText());
				System.out.println("==============================");
			}
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	public static void main(String args[]) {
		PlanReader reader=new PlanReader();
		reader.readXml();
	}
}
=======================================================
package com.imooc.dom4j;

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class PlanWrite {
	public void writeXml() {
		String file="E:/Users/Weng/eclipse-workspace/mxl/src/teaching-plan.xml";
		SAXReader reader=new SAXReader();
		try {
			Document document=reader.read(file);
			Element root=document.getRootElement();
			Element course=root.addElement("course");
			course.addAttribute("id","0810");
			Element name=course.addElement("course-name");
			name.setText("数据结构");
			course.addElement("class-hour").setText("60");
			course.addElement("exam-form").setText("笔试");
			Writer write=new OutputStreamWriter(new FileOutputStream(file),"UTF-8");
			document.write(write);
			write.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static void main(String args[]) {
		PlanWrite planWrite=new PlanWrite();
		planWrite.writeXml();
	}
}
  1. 我这运行写入后,xml没有更新添加的信息,再运行读取,控制台能显示添加的信息,是我哪里写错了吗?读取的文件是存在哪里的啊?

  2. 直接运行xml会自动生成一个teaching-plan.out.xml文件,请问这是啥?

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

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

1回答
好帮手慕阿园 2020-08-07 13:55:35

同学你好

1,老师测试同学的代码没有出现同学所说的情况,运行写入操作后,xml文件中是有数据的

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

同学清理下eclispe的缓存试试

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

2,直接运行xml文件就是会自动产出一个xxx.out.xml文件的,如果同学不小心误点,删除即可

祝学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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