XML基础及其实践开发教学教材(唐琳主编~)习题-答案~.doc

上传人:小** 文档编号:630513 上传时间:2019-04-22 格式:DOC 页数:28 大小:81.50KB
返回 下载 相关 举报
XML基础及其实践开发教学教材(唐琳主编~)习题-答案~.doc_第1页
第1页 / 共28页
XML基础及其实践开发教学教材(唐琳主编~)习题-答案~.doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《XML基础及其实践开发教学教材(唐琳主编~)习题-答案~.doc》由会员分享,可在线阅读,更多相关《XML基础及其实践开发教学教材(唐琳主编~)习题-答案~.doc(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-_习题习题 1 1 答案答案1. XML 参考答案:静夜思 李白床前明月光 疑是地上霜 举头望明月 低头思故乡2. 判断下列元素的内容是否合法5.-_ BANNERContent 1990-10-1011111 1990-10-1012:00 titlename1990-10-101112:00 titlename6. 答案-_ddd ddd-_习题习题 3 3 答案答案1. 软件工程张三18李四1202. -_XML 详解 Servlet 从入门到精通 JSP 实例编程2012-08-012012-08-02-_习题习题 4 4 答案答案1. 2. -_-_-_习题习题 5 5 答案答案1

2、. -_-_习题习题 6 6 答案答案1. css:级联式样式表、XSL:可扩展样式单语言。 2. 引入外部 CSS 样式表: 内嵌 CSS 样式:-_习题习题 7 7 答案答案1.如何区分 XPath 的根路径与相对路径? 是否以“/”开头 2.Xpath 的轴有哪些 self child parent descendant descendant-or-self ancestor ancestor-or-self following following-sibling preceding preceding-sibling attribute namespace 3.请写出如下路径所对应的简

3、化路径:1)child:rootroot2)self:node()/root./root3)descendant-or-self:id/id4)/idposition()=1/id14.现有 XML 文档小王小张1) 读取:20090534 这个属性值/students/student1/id 2) 读取:小张 这个元素的内容/students/student2/name/text() 3) 获得 sutdents 元素下子元素的个数 count(/students/student)-_-_习题习题 8 8 答案答案1.D 2. C 3.B 4.成绩统计表姓名 Java 成绩 Oracle 成

4、绩 UML 成绩1)“ order=“descending“/-_-_习题习题 9 9 答案答案1. Documant、Node、Nodelist、NameNodeMap2.package dom;import java.io.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*;import org.w3c.dom.*;public class TypeDoc public static

5、 void main(String args) DocumentBuilderFactory bdf = DocumentBuilderFactory.newInstance(); try DocumentBuilder db =bdf.newDocumentBuilder(); Document doc = db.newDocument(); Element eltStu = doc.createElement(“student“); Element eltName =doc.createElement(“name“); Element eltAge = doc.createElement(

6、“age“); Text txtName = doc.createTextNode(“Tina“); Text txtAge = doc.createTextNode(“12“); eltName.appendChild(txtName); eltAge.appendChild(txtAge);eltStu.appendChild(eltName); eltStu.appendChild(eltAge); eltStu.setAttribute(“sn“, “2“); doc.appendChild(eltStu); TransformerFactory tff = TransformerFa

7、ctory.newInstance() ; Transformer tf = tff.newTransformer(); tf.setOutputProperty(“encoding“,“utf-8“);DOMSource source =new DOMSource(doc); StreamResult result = new StreamResult(new File(“test.xml“); tf.transform(source, result); catch (ParserConfigurationException e) / TODO Auto-generated catch bl

8、ock e.printStackTrace();-_ catch (TransformerConfigurationException e) / TODO Auto-generated catch block e.printStackTrace(); catch (TransformerException e) / TODO Auto-generated catch block e.printStackTrace(); -_习题习题 1010 答案答案1.SAX 事件处理器中常用的接口包括: ContentHandler、DTDHandler、EntityResolver、ErrorHandl

9、er、Attributes、DeclHandl er、EntityResolver2 和 LexicalHandler,为了方便用户使用类库中提供了 org.xml.sax.helpers.DefaultHandler 和 DefaultHandler2 类。2.C 3.AB 4. DefaultReader.javaDefaultReader.java 代码代码package exe;import java.util.ArrayList; import java.util.Stack;import org.xml.sax.Attributes; import org.xml.sax.SAXE

10、xception; import org.xml.sax.helpers.DefaultHandler;public class DefaultReader extends DefaultHandlerprivate ArrayList java=new ArrayList(); private ArrayList xml=new ArrayList(); private Stack stack = new Stack();Override public void endDocument() throws SAXException double alljava = 0; double allx

11、ml = 0; for(Double temp :java) alljava+=temp; for(Double temp :xml) allxml+=temp; double avgjava = alljava/java.size(); double avgxml = allxml/xml.size();System.out.println(“-成绩统计-“); System.out.println(“java 平均成绩为:“+avgjava); System.out.println(“xml 平均成绩为:“+avgxml);-_Override public void startEleme

12、nt(String uri, String localName, String qName, Attributes attributes) throws SAXException stack.push(qName); Override public void endElement(String uri, String localName, String qName) throws SAXException stack.pop(); Override public void characters(char ch, int start, int length) throws SAXExceptio

13、n String tag = stack.peek(); if(“java“.equals(tag) java.add(Double.parseDouble(new String(ch,start,length); else if(“xml“.equals(tag) xml.add(Double.parseDouble(new String(ch,start,length); Test.javaTest.java 代码代码package exe;import java.io.IOException;import org.xml.sax.InputSource; import org.xml.s

14、ax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.XMLReaderFactory;public class Test public static void main(String args) try XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setContentHandler(new DefaultReader(); reader.parse(new InputSource(“students.xml“); cat

15、ch (SAXException e) -_System.out.println(“SAXException :“+e.getMessage(); catch (IOException e) System.out.println(“IOException :“+e.getMessage(); -_习题习题 1111 答案答案1.使用 JDOM 实现文件的修改import java.io.File; import java.io.FileOutputStream; import java.io.IOException;import org.jdom2.Document; import org.j

16、dom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.SAXBuilder; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter;public class JDOMExe public static void main(String args) /读取 XML 文档SAXBuilder saxBuilder = new SAXBuilder(); try Document doc = saxBuilder.build(new

17、File(“exebefore.xml“); Element root = doc.getRootElement(); /修改 XML 文档 /增加元素Element eltdescription = new Element(“description“); eltdescription.setText(“一款复古又时尚的新概念皮鞋“);root.addContent(eltdescription); /修改学生信息Element eltprice = root.getChild(“price“); eltprice.setText(“300“);/输出 XML 文档XMLOutputter o

18、ut = new XMLOutputter(); /格式化输出Format fmt = Format.getPrettyFormat(); fmt.setEncoding(“gb2312“); fmt.setIndent(“ “); out.setFormat(fmt); try out.output(doc, new FileOutputStream(“exeafter.xml“); catch (IOException e) / TODO Auto-generated catch block-_e.printStackTrace(); catch (JDOMException | IOEx

19、ception e) / TODO Auto-generated catch block e.printStackTrace(); 2.使用 DOM4J 实现文件的修改import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Iterator;import org.dom4j.Document; import org.dom4j.DocumentException; import

20、 org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter;public class Dom4jExe public static void main(String args) SAXReader sr = new SAXReader(); /忽略标签与标签之间的空白sr.setStripWhitespaceText(true); /将相邻元素的内容合并处理sr.setMergeAdjacentText(true); /读取

21、XML 文档try Document doc = sr.read(new File(“exebefore.xml“); Element root = doc.getRootElement(); Iterator its = root.nodeIterator(); while(its.hasNext() Object temp = its.next(); if(temp instanceof Element) Element elt = (Element)temp; if(elt.getName().equals(“price“) /修改元素内容elt.setText(“300“);-_ /增

22、加元素Element eltdescription = root.addElement(“description“); eltdescription.setText(“一款复古又时尚的新概念皮鞋“);/格式化输出OutputFormat outFmt = new OutputFormat(“ “,true,“gb2312“); /输出到文件FileWriter fw = new FileWriter(“studentnew.xml“); XMLWriter xmlWriter = new XMLWriter(fw,outFmt); xmlWriter.write(doc); fw.close(

23、); catch (UnsupportedEncodingException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); catch (DocumentException e) / TODO Auto-generated catch block e.printStackTrace(); -_习题习题 1212 答案答案1. 使用 Digester 解析 XML 文档的基本

24、步骤: 1. 创建 Digester 对象实例。 2. 设置该 Digester 对象的配置属性(可选)。 3. 将需要的初始对象 push 到该 Digester 对象的对象栈上(可选)。 4. 需要注册所有的 XML 元素匹配模式与处理规则之间的映射关系。 5. 用 digester.parse()解析的 XML 文档对象,得到目标对象。 2. Digester 的工作原理就是把一个 XML 文档的所有元素都作为一个 JavaBean,这些 JavaBean 的关系则为:XML 文档的根元素作为一个总的 JavaBean,根元素的属性作为该 JavaBean 的属性。根元素的子元素也是一个

25、 JavaBean,该 JavaBean 也作为根元素 JavaBean 的一个属性。如此类推来解析整个 XML 文档。-_习题习题 1515 答案答案1. XML 数据模型参考答案XML TOMJAVA JACK2. 参考答案 错误。 原因:数据的概念比较宽泛,文档也是一种数据形式,使用什么形式保存取决于具体业务 需求。3. 参考答案 在 XML 数据库内部索引双向链接有如下 3 种策略: 1)无索引:如果数据频繁改变或查询只访问少量节点时,不应该建立索引。 2)完全索引:对一个相对较小且很少变化的数据库进行频繁访问,最适合建立完全索 引。 3)部分索引:只对访问最频繁部分元素进行索引。. 参考答案 与其他数据库相比,XML 数据库在域建模、概念设计和存储复杂关系等方面提供了更 多的灵活性。-_习题习题 1616 答案答案1.参考答案 在 Oracle 数据库中存储 XML 的数据目前有 2 种方法:一种是传统的关系型存储方式, 第二种是 XMLType 存储方式。2.参考答案 主要有“结构化存储” 、 “非结构化存储” 、 “混合存储”三种方式,一般主要使用前面 两种存储方式来存储操作 XML 类型的数据。3.参考答案Create table xmlContent(keyvalue varchar2(10) primary key, xmlvalue xmltype);

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com