版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XML 程序设计 课后习题习题一1. 答:HTML是用来编写 Web页的语言、不允许用户自定义标记,HTML体现 数据的显示格式。 XML 描述数据的组织结构、可自定义标记,其标记名称是对 标记所包含的数据内容含义的抽象,而不是数据的显示格式。2. 答:使用 UTF-8 保存 5. 答: ( 1 )不可以, (2)可以, (3)不可以 6.答: Show.css:time display:block;font-size:18pt;font-weight:boldhour display:line;font-size:16pt;font-style:italicmimute display:li
2、ne;font-size:9pt;font-weight:bold习题二 1.答:(1)使用 ANSI 编码。(2)可以。(3)不合理。2. 答:不相同。3. 答:(1)和(2)。4. 答: A3.xml 。5. 答:“root ”标记包含的文本内容都是空白字符。“al”标记包含的文本内 容:CCTV5 。“a2”标记包含的文本内容:子曰有朋自远方来,不亦乐乎。6. 答:解析器不对 CDATA 段的内容做分析处理, CDATA 段中的内容可以包含 任意的字符。(1)和(5)是正确的 CDATA 段。(2)不正确,原因是 CDATA 段的 开始标识中有回行, (3)不正确,原因是: CDATA
3、段的结束标识不正确, (4)不正 确,原因是 CDATA 段中嵌套了另一个 CDATA 段。7. 答:p1:开关 我也是中国制造的/p1:开关是错误的,因为 p1 的有效范围是在“电视机”标记中。8. 答:标记 : root 未隶属任何名称空间标记: 电视机 隶书的名称空间: www.C标记: 显示器 隶书的名称空间: www.C标记: 开关 隶书的名称空间: www.G标记: 电线 隶书的名称空间: www.E习题三 1.答:一个规范的 XML 文件如果和某个 DTD 文件相关联,并遵守该 DTD 文件规定的约束条件,就称之为有效的 XML 文件。2. 答: DTD 文件的编码必须和其约束的
4、 XML 文件的编码相一致。3. 答:无关。4答: (1) 使用 SYSTEM 文档类型声明的格式:vDOCTYP根标记的名称SYSTEM DTD文件的URI(2) 使用 PUBLIC 文档类型声明的格式: 5答:一定。6答:(1)约束标记“张三”必须有“学号”属性(2)约束标记“张三”必须有“学号”属性,而且学号的属性值是固定的 220123。(3)约束标记“张三”可以有也可以没有“学号”属性。7答: ID 类型的属性的属性值具有互斥性,即所有ID 类型的属性的属性值必须互不相同。8答:不合理。9答:( 1)、(3)和( 4)。10答, B.xml 不是有效的。将 B.xml 修改为有效:B
5、.xml 张三 优秀 李四 良好 11答: Goods.xml?xml version=1.0 !DOCTYPE encoding=UTF-8 ?商品信息 SYSTEM dtdFile.dtd vp:名称 xmlns:p= “ookk” 条形码=“ 1298-24” 联想电脑 1234 中关村专卖店v/q 名称 北京市 习题四 1答:使用操作指令:2答:student display:block;font-size:18pt; color:red; 3答:假设 XML 文件中有三个标记的名称都是“ name”, “ID ”属性分别是 a001,a002,a003 CSS 文件如下:namea0
6、01 display:block;border-style:double;width=260;height=120 namea002 display:block;border-style:dotted; width=150;height=60 ; font-size:10pt;namea003 display:block; border-style:ridge; width=90; height=30; font-size:10pt;4答:修改 XML 文件。5答:math display:block; font-size:12pt; font-style:italic;background-
7、color:rgb(227,228,229); chemistry display:block;font-size:12pt;text-decoration:underline;background-color:cyan;low display:line; font-size:8pt; vertical-align:bottom;习题五 1答:由若干个模板所构成,但必须有一个主模板。2答:必须有主模板吗。主要体现在该模板中的match 属性的值是“ /”:主模板的内容3. 答:student的孙标记。4答: 234 元 北京 56 元 上海 5.答: 获得一等奖学金 25 岁 习题 六 1.答
8、:一 个返 回子 孙节 点, 而另 一个 只返 回 子节点 :(1) getElementsByTagName(String name返回一个 NodeList 对象,该对象由当前 节点的Element类型子孙节点组成,这些子孙节点的名字由参数name指定(2)getChildNodes() :节点调用该方法返回一个由当前节点的所有子节点组 成的 NodeList 对象。2.答:分别是 DocumentType类型和Element类型。3答: Element 类型?4. 答:不可以。5. 答:JAXPXiti5.javaimport org.w3c.dom.*;import javax.xml
9、.parsers.*;import java.io.*;public class JAXPXiti5public static void main(String args)OutResult outContent=new OutResult();try DocumentBuilderFactory factory=DocumentBuilderFactory. newInstance(); DocumentBuilderbuilder=factory.newDocumentBuilder();Document document= builder. parse(new File(a.xml) ;
10、 Element root=document.getDocumentElement() ; String rootName=root.getNodeName(); NodeList nodeList=root.getChildNodes(); outContent.output(nodeList);System.out.println(”数学平均成绩+outContent.mathAver); System.out.println( 物 理 平 均 成 绩 +outContent.physicsAver);catch(Exception e)System.out.println(e);clas
11、s OutResultdouble sumAllMath,sumAllPhysics,mathAver,physicsAver;int mathNumber=0, physicsNumber=0;public void output(NodeList nodeList)int size=nodeList.getLength();for(int k=0;ksize;k+)Node node=nodeList.item(k);if(node.getNodeType()=Node.TEXT_NODE)Text textNode=(Text)node;String content=textNode.g
12、etWholeText();System.out.print(content);Element parent=(Element)textNode.getParentNode();if(pare nt.getNodeName().equals(数学) mathNumber+;sumAllMath=sumAllMath+Double.parseDouble(content.trim();if(pare nt.getNodeName().equals(物理)physicsNumber+;sumAllPhysics=sumAllPhysics+Double.parseDouble(content.tr
13、im();if(node.getNodeType()=Node.ELEMENT_NODE)Element elementNode=(Element)node;String name=elementNode.getNodeName(); System.out.print(name);NodeList nodes=elementNode.getChildNodes(); output(nodes);mathAver=sumAllMath/mathNumber; physicsAver=sumAllPhysics/physicsNumber;6答:JAXPXiti6.javaimport javax
14、.xml.transform.*;import javax.xml.transform.stream.*;import javax.xml.transform.dom.*;import org.w3c.dom.*;import javax.xml.parsers.*;import java.io.*;public class JAXPXiti6public static void main(String args)try String 车次 =T21,K456,T89;String 区间 = 北京-上海 , 长沙 - 北京, 天津 - 重庆;DocumentBuilderFactory fac
15、tory=DocumentBuilderFactory.newInstance();DocumentBuilderdomPaser=factory.newDocumentBuilder();Document document=domPaser.newDocument(); document.setXmlVersion(1.0);Element root=document.createElement( 列车表 ); document.appendChild(root);for(int k=1;k=车次 .length;k+)Node node=document.createElement(客车
16、);root.appendChild(node);NodeList nodeList=document.getElementsByTagName( 客 车);int size=nodeList.getLength();for(int k=0;ksize;k+)Node node=nodeList.item(k);if(node.getNodeType()=Node.ELEMENT_NODE)Element elementNode=(Element)node;Node nodeName=document.createElement(车次 );Node nodeNumber=document.cr
17、eateElement( 运 行 区 间);nodeName.appendChild(document.createTextNode( 车 次k);nodeNumber.appendChild(document.createTextNode( 区间 k); elementNode.appendChild(nodeName); elementNode.appendChild(nodeNumber);TransformerFactory transFactory=TransformerFactory.newInstance();Transformertransformer=transFactory
18、.newTransformer();DOMSource domSource=new DOMSource(document);File file=new File(列车表 .xml);FileOutputStream out=new FileOutputStream(file);StreamResult xmlResult=new StreamResult(out); transformer.transform(domSource, xmlResult); out.close();catch(Exception e)System.out.println(e);习题七1.答:DOM解析器的核心是在
19、内存中建立和 XML文件相对应的树形结 构数据,如果XML文件较大,相应的Document对象就要占用较多的内存空间; SAX 解析器不在内存中建立和 XML 文件相对应的树形结构数据, 和 DOM 解析 器相比, SAX 解析器占有的内存少。2.答:参见例子 1 的表 7.13答:不报告。4答: uri 和 localName 的取值是空字符组成的串,即 uri= ,localName=, 参数 qName 取值是标记名称, atts 是标记的所有属性的集合。 5答:当忽略标记之间形成的空白区域时。6答:是“文件定位器”事件。7答:Xiti7.javaimport org.w3c.dom.*
20、;import javax.xml.parsers.*;import java.io.*;public class Xiti7public static void main(String args)OutTotal outWeight=new OutTotal();try DocumentBuilderFactory factory=DocumentBuilderFactory. newInstance();DocumentBuilder builder= factory. newDocumentBuilder(); Document document= builder.parse(new F
21、ile(a.xml) ; Element root=document.getDocumentElement() ; NodeList nodeList=root.getChildNodes(); outWeight.output(nodeList);System.out.println(总重量:+outWeight.sum);catch(Exception e) System.out.println(e);class OutTotaldouble sum;public void output(NodeList nodeList)int size=nodeList.getLength();for
22、(int k=0;ksize;k+)Node node=nodeList.item(k); if(node.getNodeType()=Node.TEXT_NODE)Text textNode=(Text)node;String content=textNode.getWholeText();System.out.print(content);Element parent=(Element)textNode.getParentNode();if(pare nt.getNodeName().equals(重量)sum=sum+Double.parseDouble(content.trim();
23、if(node.getNodeType()=Node.ELEMENT_NODE) Element elementNode=(Element)node;String name=elementNode.getNodeName();System.out.print(name);NodeList nodes=elementNode.getChildNodes();output(nodes);习题八 1答: Node 节点由可细分为 Document,Element,Text,Attribue,Process ingln struct ion 和 Namespace节点。2. 答:Process ing
24、ln struct ion 和 Eleme nt 子节点。3. 答:Element类型节点对应XML中的标记。4. 答:可以。5. 答:一个 XPath 路径表达式由若干个“定位步”构成。6. 答:假设XPath绝对路径经过第n个定位步后寻找出的第n个节点集中包含 有m个节点,这m个节点按着他们在XML文件对应的顺序进行排列,序号从 1 开始,然后这m个节点依次使用第n+1个定位步寻找节点,它们找出的全部节点 就是XPath绝对路径经过第n+1个定位步后寻找出的第n+1个节点集,依次类推, XPath 绝对路径经过最后一个定位步寻找出的节点集就是 XPapth 绝对路径寻找 出的节点集。5.
25、答:谓词的目的是给出定位步所寻找出的节点需满足的进一步条件,即当前 节点在使用定位步的轴和节点测试找出若干个节点后, 再使用谓词从这些节点中 筛选出满足谓词条件的节点。6. 答:(1) 按顺序对应着第一个名字是“教室”的标记中的第一个名字是“桌子” 标记的“价格”标记。(2) 对应着具有属性number,属性值是02、名字为“桌子”的标记,而且 这些桌子标记有子标记“价格” ,而且价格包含的文本是数字且值大于等于 360。(3) 对应“教室”的属性。(4) number属性所在的“教室”节点。( 5) 109( 6) 396, 267( 7)对应着“教室”标记,具教室标记有孙标记“价格”,且“
26、价格”标记含有的数字文本的值大于 390,即是第 2个“教室”标记。(8)对应着价格标记,且“价格”标记含有的数字文本的值大于396。7. 答:(1)【结果1】:A1001定单的总额:( 2) 【结果 2】 : 40.03) 【结果 3】: 44) 【结果 4】 :100 8答:Xiti8.javaimport javax.xml.xpath.*;import org.xml.sax.*;import org.w3c.dom.*;public class Xiti8public static void main(String args)try XPathFactory xPathFactory
27、=XPathFactory.newInstance();XPath xPath=xPathFactory.newXPath();InputSource source=new InputSource(Xiti8.xml);String countPath=count(/货品列表 / 货品 / 重量 );String sumPath=sum(/货品列表 / 货品/ 重量 );Doublesum=(Double)xPath.evaluate(sumPath,source,XPathConstants.NUMBER); double total=sum.doubleValue();System.out
28、.println( 总重量 :+total);catch(Exception exp)System.out.println(exp);9答:Student.xml?xml version=1.0 encoding=UTF-8 ?学生列表 学生 学号 =72349876姓名张三/姓名性别 男 /性别 年龄 29 /年龄/学生学生 学号 =12345678姓名李张林 /姓名性别 男 /性别 年龄 18 /年龄/学生学生 学号 =000姓名张李号 /姓名性别 女 /性别 25 Aplication.javapublic class Applicationpublic static void main
29、(String args) new StudentConditionWindow();StudentConditionWindow.javaimport java.awt.*;import javax.swing.*;public class StudentConditionWindow extends JFrame JTextField inputName,inputNumber;JTextArea showResult;JButton button;Box baseBox ,boxV1,boxV2;StudentConditionWindow() inputName=new JTextFi
30、eld(10); inputNumber=new JTextField(10); boxV1=Box.createVerticalBox();boxV1.add(new Label(姓名中包含:); boxV1.add(new Label(学号中包含); boxV2=Box.createVerticalBox(); boxV2.add(inputName); boxV2.add(inputNumber); baseBox=Box.createHorizontalBox(); baseBox.add(boxV1); baseBox.add(boxV2); JPanel west=new JPan
31、el(); west.add(baseBox); butto n=new JButto n(确定); west.add(button); add(west,BorderLayout.WEST); showResult=new JTextArea(10,10); showResult.setFo nt( new Font(宋体,Fo nt.PLAIN,12); add(new JScrollPane(showResult),BorderLayout.CENTER); FindStudentByXPath findStudent;/负责使用 XPath 查询学生的对象findStudent= ne
32、wFindStudentByXPath(inputName,inputNumber,showResult,student.xml); button.addActionListener(findStudent); setBounds(10,10,900,300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);FindStudentByXPath.javaimport javax.xml.xpath.*;import org.w3c.dom.*;import javax.swing.*;import java.awt
33、.event.*;import org.xml.sax.*;public class FindStudentByXPath implements ActionListener XPathFactory xPathFactory;XPath xPath;String positionPath;InputSource source;JTextField inputName,inputNumber;JTextArea showResult;FindStudentByXPath(JTextField inputName,JTextField inputNumber,JTextArea showResult,String fileName) this.inputName=inputName;this.inputNum
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5G设备维护优化-深度研究
- 互联网金融风险评估-深度研究
- 2025年广西职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年广西幼儿师范高等专科学校高职单招数学历年(2016-2024)频考点试题含答案解析
- 2025年广西国际商务职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 动态图表设计与应用-深度研究
- 乡村遗产保护与社区记忆保护的关系-深度研究
- 实时数据处理优化-深度研究
- 人工智能在人才预测中的应用-深度研究
- 2025年广东南华工商职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 课题申报书:GenAI赋能新质人才培养的生成式学习设计研究
- 骆驼祥子-(一)-剧本
- 全国医院数量统计
- 《中国香文化》课件
- 2024年医美行业社媒平台人群趋势洞察报告-医美行业观察星秀传媒
- 第六次全国幽门螺杆菌感染处理共识报告-
- 天津市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 经济学的思维方式(第13版)
- 盘锦市重点中学2024年中考英语全真模拟试卷含答案
- 手卫生依从性调查表
- 湖北教育出版社四年级下册信息技术教案
评论
0/150
提交评论