【Jsp精品源码栏目提醒】:本文主要为网学会员提供“WEB标准实验报告 - 科学技术”,希望对需要WEB标准实验报告 - 科学技术网友有所帮助,学习一下!
南昌航空大学标准实验报告 课程名称:web 高级编程 开课专业: 软件工程 试验一:XML 程序调试一、实验环境 操作系统:Windows 2000 开发环境:eclipse3.2 版本二、实验目的 1、了解 XML(可扩展标记语言)的用途和用法。
2、掌握 XML 的书写规范。
3、掌握利用 DTD 约束置于 XML 文档的结构上的方法。
4、了解使用 DOM4J 解析 XML 文档。
三、试验要求 理解 XML 语法规则的基础上,调试通过 DOM4j 解析 XML 文件的程序。
根据已有代码,完成XML操作代码File_Handler类中空白的方法:删除一条档案记录DeleteFileMsgFile_Content f修改一条档案记录changeFileMsgFile_Content f的内容。
四、实验内容 利用 DOM 解析 XML 文档。
五、试验步骤 1、运行 Eclipse 程序,新建一个 java 工程,并命名为 test。
2、在工程中新建一个 XML 文档,并命名为 game.xml 编写相应内容。
3、编写代码解析 game.xml 文件内容。
4、调试、观察结果。
六、试验参考代码Xml 文档:records.xmlltxml versionquot1.0quot encodingquotUTF-8quotgtltrecords numquot4quotgt ltyear valuequot2012quotgt ltrecord idquot1quotgt ltmonthgt12lt/monthgt ltnamegt发现遗迹lt/namegt ltgradegt国家级lt/gradegt ltauthorgt张三lt/authorgt lttitle_numgt125lt/title_numgt ltdossier_numgt2001156lt/dossier_numgt ltpaper_amountgt20lt/paper_amountgt ltorigin_numgt012201lt/origin_numgt ltkeygt汉代 青铜lt/keygt lt/recordgt ltrecord idquot2quotgt ltmonthgt8lt/monthgt ltnamegt瓷器碎片lt/namegt ltgradegt江西省级lt/gradegt ltauthorgt王二lt/authorgt lttitle_numgt206lt/title_numgt ltdossier_numgt2056156lt/dossier_numgt ltpaper_amountgt50lt/paper_amountgt ltorigin_numgt003541lt/origin_numgt ltkeygt唐朝 汝窑lt/keygt lt/recordgt lt/yeargt ltyear valuequot2011quotgt ltrecord idquot3quotgt ltmonthgt6lt/monthgt ltnamegt王羲之lt/namegt ltgradegt国家级lt/gradegt ltauthorgt刘留lt/authorgt lttitle_numgt1655lt/title_numgt ltdossier_numgt23041156lt/dossier_numgt ltpaper_amountgt60lt/paper_amountgt ltorigin_numgt30651lt/origin_numgt ltkeygt书法 行书lt/keygt lt/recordgtlt/recordsgtXML操作代码:import org.dom4j.Documentimport org.dom4j.DocumentExceptionimport org.dom4j.DocumentHelperimport org.dom4j.Elementimport org.dom4j.io.OutputFormatimport org.dom4j.io.SAXReaderimport org.dom4j.io.XMLWriterimport java.io.Fileimport java.io.FileNotFoundExceptionimport java.io.FileOutputStreamimport java.io.FileWriterimport java.io.IOExceptionimport java.io.UnsupportedEncodingExceptionimport java.util.ArrayListimport java.util.Iteratorimport DataModel.File_Contentpublic class File_Handler Document document//XML文档对象 File f new Filequotrecord.xmlquot//文档内容 int num 0 Element root public File_Handler throws DocumentException IOException document this.getFileContent File_Content f File_Contentthis.getRecordsByYearquot2011quotroot.get0 this.addRecordf getAllRecords //获取XML文档对象。
public Document getFileContent throws DocumentException SAXReader reader new SAXReader document reader.readf //获取文档根元素 root document.getRootElement //获取记录的数量 num Integer.parseIntroot.attributequotnumquot.getValue return document //添加一条档案记录 public void addRecordFile_Content f throws IOException //获取文档根元素records num Element record null //枚举所有root的子节点 for Iterator i root.elementIterator i.hasNext Element eyear Element i.nex