DOM解析器的设计与实现

上传人:ss****gk 文档编号:209182590 上传时间:2021-11-09 格式:DOC 页数:5 大小:62KB
返回 下载 相关 举报
DOM解析器的设计与实现_第1页
第1页 / 共5页
DOM解析器的设计与实现_第2页
第2页 / 共5页
DOM解析器的设计与实现_第3页
第3页 / 共5页
DOM解析器的设计与实现_第4页
第4页 / 共5页
DOM解析器的设计与实现_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《DOM解析器的设计与实现》由会员分享,可在线阅读,更多相关《DOM解析器的设计与实现(5页珍藏版)》请在金锄头文库上搜索。

1、实验三: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.DOMImplementat

2、ionRegistry;import org.w3c.dom.Is.DOMImplementationLS;import org.w3c.dom.Is.LSOutput;import org.w3c.dom.Is.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 =

3、 n李冈1J,李冈1J , double book_price = 79.00,89;String book_desc = 该书详细介绍了Struts 2.1的用法,该书主要 介绍了一种流行的轻S:级企业应用架构;DocumentBuilderFactory factory =DocumentBuilderFactory.newlnstance();try DocumentBuiIder domParse = factory.newDocumentBuilder(); Document document = domParse.newDocument(); document-setXmlVers

4、ion (1.0);Element root = document.createElement(books”); document-appendChild(root);for (int i = 1; i = book_namelength; i+)Node node = document.createElement(nITBook); root.appendChild(node);NodeList nodeList =document.getElementsByTagName(nITBook);int size = nodeList.getLength(); for (int i = 0; i

5、 size; i+)Node node = nodeListitem(i);if(node.getNodeType() = Node.ELEMENT_NODE)Element elementNode = (Element)node;Node nodeName =document-createElement(bookname”);Node nodeAuthor =document-createElement(book_author);Node nodePrice =document.createElement(nbook_priceH);Node nodeDesc =document.creat

6、eElement(nbook_descn);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); elementN

7、ode.appendChild(nodeAuthor); elementNode.appendChild(nodePrice); elementNode.appendChild(nodeDesc);DOMImplementationRegistry registry =DOMImplementationRegistry.newlnstance);DOMImplementationLS domlmplLs =(DOMImplementationLS)registry.getDOMImplementation(LS);LSSerializer serializer = domlmplLs.crea

8、teLSSerializer();serializer . getDomConf ig () . setParameter ( format-pretty-print,true);LSOutput out = domlmplLs . createLSOutput (); out.setEncoding(HGB2312 n);FileWriter stringOut = new FileWriter (f,books._new. xmln ); out.setCharacterStream(stringOut); serializerwrite(document, out); catch (Ex

9、ception e) / TODO Auto-generated catch block e.printStackTrace ();实验截图x newXML.xml x, student.xml2) JAXPFirstLab.java Jt books_new.xml, e Struts 2. 1 权威指i/book_namebook author: $0O79.0ig书洋细介诏了 St ruts 2.法e book_author :李 0J89.0该书王要介诏了一种茂行698置企业应用架构 國 2.使用dom删除xml其中一条(特 定条件)的信息删除书名为Struts 2.1权威指南 的这条

10、书的全部记录public static void delete()tryDocumentBuilderFactory factory = DocumentBuilderFactory .neA/lnstance();factory.setlgnoringElementContentWhitespace(true);DocumentBuilder builder = factory.newDocumentBuilder();Document document = builder.parse(books_new.xml);/先找到要删除的节点NodeList authors = document.

11、getElementsByTagName(Hbook-nameH);/通过这个节点找到他的父亲节点,再通过父亲节点删除当前节点for (int i = 0; i authors.getLength(); i+) Node node = authors.item(i);System.outprintlnfnode.getTextContentO); if(node.getTextContent().equals(Struts 2.1 权威指南)Node book = node.getParentNodef); book.getParentNode().removeChild(book);DOMI

12、mplementationRegistry registry = DOMImplementationRegistry.new/nstonceO; DOMImplementationLSdomlmpILs(DOMImplementationLS)registry.getDOMImplementation(f,LSH);LSSerializer serializer = domlmpILs.createLSSerializer(); serializer.getDomConfig().setParameter(format-pretty-print, true);LSOutput out = do

13、mlmpILs.createLSOutput();out.setEncoding(GB2312);FileWriter stringOut = new FileWriter(,books_new_Update.xmr,); out.setCharacterStream(stringOut); serializer.writefdocument, out); catch (Exception e) / TODO: handle exception实验截图:jc newXML.xml x student.xml?) JAXPFirstLab.java Lx books.new_Update.xml 23e book_name轻量级Java EE企业开发5K 李期89.0boo(desc该书主要介沼了一种云行的轻量级企业应用架构

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号