1、ELEMENT 书名 (#PCDATA)ELEMENT 作者 (#PCDATA)ELEMENT ISBN (#PCDATA)ELEMENT 出版社 (#PCDATA)ELEMENT 出版时间 (#PCDATA)ELEMENT 单价 (#PCDATA)ELEMENT 图书图片 (#PCDATA)ELEMENT 类别 (#PCDATA)ELEMENT 图书简介 (#PCDATA)ATTLIST 书 id CDATA #REQUIRED 书籍书 id=1书名XML基础教程与实验指导作者孙晓非出版社清华大学出版社 ISBN978-7-302-18262-7出版时间2008.11价格38元图书图片src
2、=8.jpg/图书图片类别教科书 图书简介本书由浅入深,全面地介绍了XML开发和应用知识/书/书籍2、程序运行结果显示2、使用SAX方式解析从XML文档books.xml中获得“书名”、“书号”、“作者”、“出版社”、“出版日期”这5个记录项的信息,并将其格式化输出到一个文件books.txt中。1、程序源代码:package com.src.sax.xml;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.ut
3、il.ArrayList;import java.util.List;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class Books_SaxReadXml
4、extends DefaultHandler private List list; private Books books; private String tagName; public List getList() return list; public void setList(List list) this.list = list; public Books getBooks() return books; public void setBooks(Books books) this.books = books; public String getTagName() return tag
5、Name; public void setTagName(String tagName) this.tagName = tagName; public void startDocument() throws SAXException list = new ArrayList(); public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException if (qName.equals(书) books = new Books(); books.
6、setBooktype(Integer.parseInt(attributes.getValue(0); this.tagName = qName; public void endElement(String uri, String localName, String qName) throws SAXException this.list.add(this.books); this.tagName = null; public void endDocument() throws SAXException public void characters(char ch, int start, i
7、nt length) throws SAXException if (this.tagName != null) String date = new String(ch, start, length); if (this.tagName.equals(书名 this.books.setName(date); this.books.setTypename(date); else if (this.tagName.equals(图书简介 this.books.setDescription(date);图书图片 this.books.setPicture(date);ISBN this.books.
8、setIsbn(date); else if (this.tagName.equals(出版时间 this.books.setTime(date);出版社 this.books.setPublisher(date);作者 this.books.setAuthor(date);价格 this.books.setPrice(date); public static void main(String args) SAXParser parser = null; try parser = SAXParserFactory.newInstance().newSAXParser(); Books_SaxR
9、eadXml parseXml = new Books_SaxReadXml(); InputStream stream= new FileInputStream(new File(D:books.xml); parser.parse(stream, parseXml); List public Book getBook() return book; public void setBook(Book book) this.book = book; public void queryXml() try DocumentBuilderFactory dbFactory = DocumentBuil
10、derFactory .newInstance(); DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder(); Document doc = dbBuilder.parse( System.out.println(处理该文档的DomImplementation对象 = + doc.getImplementation(); NodeList nList1 = doc.getElementsByTagName(书籍 / 遍历该集合,显示结合中的元素及其子元素的名字 for (int i = 0; i nList1.getLength()
11、; i+) / Element node = (Element)nList.item(i); Element element = (Element) nList1.item(i); String TypeName = element.getElementsByTagName(类别) .item(0).getFirstChild().getNodeValue(); System.out.println(TypeName); book.setTypename(TypeName); String Description = element .getElementsByTagName().item(0
12、) .getFirstChild().getNodeValue(); book.setDescription(Description); String Picture = element.getElementsByTagName( book.setPicture(Picture); String ISBN = element.getElementsByTagName( book.setIsbn(ISBN); String Name = element.getElementsByTagName( book.setName(Name); String Time = element.getEleme
13、ntsByTagName( book.setTime(Time); String Publisher = element.getElementsByTagName( book.setPublisher(Publisher); String Author = element.getElementsByTagName( book.setAuthor(Author); String Price = element.getElementsByTagName( book.setPrice(Price); System.out.println(Description); list.add(book); c
14、atch (Exception e) e.printStackTrace(); public void insertXml() Element books = null; Element book1 = null; Element name = null; Element author = null; Element isbn = null; Element publisher = null; Element time = null; try NodeList nList = doc.getElementsByTagName( books = (Element) nList.item(0);
15、book1 = doc.createElement( book1.setAttribute(id, name = doc.createElement( name.appendChild(doc.createTextNode(book.getName(); book1.appendChild(name); /* * 下面的元素依次加入即可 * */ author = doc.createElement( author.appendChild(doc.createTextNode(book.getAuthor(); book1.appendChild(author); isbn = doc.cre
16、ateElement(书号 isbn.appendChild(doc.createTextNode(book.getIsbn(); book1.appendChild(isbn); time = doc.createElement( time.appendChild(doc.createTextNode(book.getTime(); book1.appendChild(time); publisher = doc.createElement( publisher.appendChild(doc.createTextNode(book.getPublisher(); book1.appendC
17、hild(publisher); books.appendChild(book1); (XmlDocument) doc).write(new FileOutputStream(1.xmlsuccess /* * 创建xml文档 * */ public void createDom() Document doc; doc = dbBuilder.newDocument(); if (doc != null) books = doc.createElement( book1 = doc.createElement( book1.setAttribute( name = doc.createEle
18、ment( name.appendChild(doc.createTextNode(book.getName(); book1.appendChild(name); author = doc.createElement( author.appendChild(doc.createTextNode(book.getAuthor(); book1.appendChild(author); isbn = doc.createElement( isbn.appendChild(doc.createTextNode(book.getIsbn(); book1.appendChild(isbn); tim
19、e = doc.createElement( time.appendChild(doc.createTextNode(book.getTime(); book1.appendChild(time); publisher = doc.createElement( publisher.appendChild(doc.createTextNode(book.getPublisher(); book1.appendChild(publisher); books.appendChild(book1); doc.appendChild(books); (XmlDocument) doc).write(new FileOutputStream( simplebooks.xml System.out.println( ca
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1