




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三:DOM解析器的设计与实现 学时:2 目的: 了解DOM模型的原理 掌握DOM模型的应用 内容: 采用Eclipse IDE (或MyEclipse)建立一个XML项目 编写相应的Java类 利用JAXP完成一个DOM解析器的开发 1. 使用dom创建实验一完成的xml 代码: import javax.xml.transform.*;import javax.xml.transform.stream.*;import javax.xml.transform.dom.*;import org.w3c.dom.*;import org.w3c.dom.bootstrap.DOMImplementationRegistry;import org.w3c.dom.ls.DOMImplementationLS;import org.w3c.dom.ls.LSOutput;import org.w3c.dom.ls.LSSerializer;import javax.xml.parsers.*;import java.io.*;public class JAXPFirstLab public static void main(String args) String book_name = Struts 2.1权威指南,轻量级Java EE企业开发实战;String book_author = 李刚,李刚;double book_price = 79.00,89;String book_desc = 该书详细介绍了Struts 2.1的用法,该书主要介绍了一种流行的轻量级企业应用架构;DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();try DocumentBuilder domParse = factory.newDocumentBuilder();Document document = domParse.newDocument();document.setXmlVersion(1.0);Element root = document.createElement(books);document.appendChild(root);for (int i = 1; i = book_name.length; i+) Node node = document.createElement(ITBook);root.appendChild(node);NodeList nodeList = document.getElementsByTagName(ITBook);int size = nodeList.getLength();for (int i = 0; i size; i+) Node node = nodeList.item(i);if(node.getNodeType() = Node.ELEMENT_NODE)Element elementNode = (Element)node;Node nodeName = document.createElement(book_name);Node nodeAuthor = document.createElement(book_author);Node nodePrice = document.createElement(book_price);Node nodeDesc = document.createElement(book_desc);nodeName.appendChild(document.createTextNode(book_namei);nodeAuthor.appendChild(document.createTextNode(book_authori);nodePrice.appendChild(document.createTextNode(book_pricei+);nodeDesc.appendChild(document.createTextNode(book_desci);elementNode.appendChild(nodeName);elementNode.appendChild(nodeAuthor);elementNode.appendChild(nodePrice);elementNode.appendChild(nodeDesc);DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();DOMImplementationLS domImplLs = (DOMImplementationLS)registry.getDOMImplementation(LS);LSSerializer serializer = domImplLs.createLSSerializer();serializer.getDomConfig().setParameter(format-pretty-print, true);LSOutput out = domImplLs.createLSOutput();out.setEncoding(GB2312);FileWriter stringOut = new FileWriter(books_new.xml);out.setCharacterStream(stringOut);serializer.write(document, out); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();实验截图 2.使用dom删除xml其中一条(特定条件)的信息删除书名为Struts 2.1权威指南的这条书的全部记录public static void delete()try DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();factory.setIgnoringElementContentWhitespace(true);DocumentBuilder builder = factory.newDocumentBuilder();Document document = builder.parse(books_new.xml);/先找到要删除的节点NodeList authors = document.getElementsByTagName(book_name);/通过这个节点找到他的父亲节点,再通过父亲节点删除当前节点for (int i = 0; i authors.getLength(); i+) Node node = authors.item(i);System.out.println(node.getTextContent();if(node.getTextContent().equals(Struts 2.1权威指南)Node book = node.getParentNode();book.getParentNode().removeChild(book);DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();DOMImplementationLS domImplLs = (DOMImplementationLS)registry.getDOMImplementation(LS);LSSerializer serializer = domImplLs.createLSSerializer();serializer.getDomConfig().setParameter(format-pretty-print, true);LSOutput out = domImplLs.createLSOutput();out.setEncoding(GB23
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高速公路智能交通系统2025年智能交通系统与智慧交通应用报告
- 基于5G商用深化2025年边缘计算行业应用案例分析报告
- 烧烤场地外租赁合同协议
- 消防验收咨询费合同范本
- 闲置水泥仓收购合同范本
- 猫咪寄养健康协议书模板
- 铸造承包合同协议书范本
- 长期合作的物流合同范本
- 项目部采购护栏合同范本
- 生物质燃料采购合同协议
- 食管癌放疗病人的护理查房
- 2025-2030中国1,6-己二醇行业市场发展趋势与前景展望战略研究报告
- 沉淀池斜管安装施工方案
- 老人躺卧后的安全检查
- 三菱燃气轮机培训手册
- 《基因与出生缺陷》课件
- 面向I3型卓越人才培养的嵌入式人工智能实验教学探索
- 酒类代理合同范本
- 2025年中国航空航天新材料行业市场运行态势及投资前景展望报告
- DB3308T 137-2023 全域白蚁防治技术规程
- 有创血压监测操作流程、评分标准
评论
0/150
提交评论