• 78.00 KB
  • 2022-04-22 11:48:05 发布

XML基础教程课后习题解答.doc

  • 11页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'XML基础教程课后习题习题一1.答:HTML是用来编写Web页的语言、不允许用户自定义标记,HTML体现数据的显示格式。XML描述数据的组织结构、可自定义标记,其标记名称是对标记所包含的数据内容含义的抽象,而不是数据的显示格式。2.答:使用UTF-8保存5.答:(1)不可以,(2)可以,(3)不可以6.答:Show.css:time{display:block;font-size:18pt;font-weight:bold}hour{display:line;font-size:16pt;font-style:italic}mimute{display:line;font-size:9pt;font-weight:bold}习题二1.答:(1)使用ANSI编码。(2)可以。(3)不合理。2.答:不相同。3.答:(1)和(2)。4.答:A3.xml。5.答:“root”标记包含的文本内容都是空白字符。“a1”标记包含的文本内容:。“a2”标记包含的文本内容:子曰"有朋自远方来,不亦乐乎"。习题三1.答:一个规范的XML文件如果和某个DTD文件相关联,并遵守该DTD文件规定的约束条件,就称之为有效的XML文件。2.答:DTD文件的编码必须和其约束的XML文件的编码相一致。3.答:无关。4.答:(1)使用SYSTEM文档类型声明的格式:(2)使用PUBLIC文档类型声明的格式:5.答:一定。6.答:(1)约束标记“张三”必须有“学号”属性(2)约束标记“张三”必须有“学号”属性,而且学号的属性值是固定的220123。(3)约束标记“张三”可以有也可以没有“学号”属性。 7.答:ID类型的属性的属性值具有互斥性,即所有ID类型的属性的属性值必须互不相同。8.答:不合理。9.答:(1)、(3)和(4)。10.答,B.xml不是有效的。将B.xml修改为有效:B.xml<成绩单><学生><姓名>张三<成绩>优秀<学生><姓名>李四<成绩>良好习题四1.答:一个返回子孙节点,而另一个只返回子节点:(1)getElementsByTagName(Stringname):返回一个NodeList对象,该对象由当前节点的Element类型子孙节点组成,这些子孙节点的名字由参数name指定(2)getChildNodes():节点调用该方法返回一个由当前节点的所有子节点组成的NodeList对象。2.答:分别是DocumentType类型和Element类型。3.JAXPXiti5.javaimportorg.w3c.dom.*;importjavax.xml.parsers.*;importjava.io.*;publicclassJAXPXiti5{publicstaticvoidmain(Stringargs[]){OutResultoutContent=newOutResult();try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderbuilder=factory.newDocumentBuilder();Documentdocument=builder.parse(newFile("a.xml"));Elementroot=document.getDocumentElement();StringrootName=root.getNodeName();NodeListnodeList=root.getChildNodes(); outContent.output(nodeList);System.out.println("数学平均成绩"+outContent.mathAver);System.out.println("物理平均成绩"+outContent.physicsAver);}catch(Exceptione){System.out.println(e);}}}classOutResult{doublesumAllMath,sumAllPhysics,mathAver,physicsAver;intmathNumber=0,physicsNumber=0;publicvoidoutput(NodeListnodeList){intsize=nodeList.getLength();for(intk=0;k<学生列表><学生学号="72349876"><姓名>张三<性别>男<年龄>29<学生学号="12345678"><姓名>李张林<性别>男<年龄>18<学生学号="000"><姓名>张李号<性别>女<年龄>25Aplication.javapublicclassApplication{publicstaticvoidmain(Stringargs[]){newStudentConditionWindow(); }}StudentConditionWindow.javaimportjava.awt.*;importjavax.swing.*;publicclassStudentConditionWindowextendsJFrame{JTextFieldinputName,inputNumber;JTextAreashowResult;JButtonbutton;BoxbaseBox,boxV1,boxV2;StudentConditionWindow(){inputName=newJTextField(10);inputNumber=newJTextField(10);boxV1=Box.createVerticalBox();boxV1.add(newLabel("姓名中包含:"));boxV1.add(newLabel("学号中包含"));boxV2=Box.createVerticalBox();boxV2.add(inputName);boxV2.add(inputNumber);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(boxV2);JPanelwest=newJPanel();west.add(baseBox);button=newJButton("确定");west.add(button);add(west,BorderLayout.WEST);showResult=newJTextArea(10,10);showResult.setFont(newFont("宋体",Font.PLAIN,12));add(newJScrollPane(showResult),BorderLayout.CENTER);FindStudentByXPathfindStudent;//负责使用XPath查询学生的对象findStudent=newFindStudentByXPath(inputName,inputNumber,showResult,"student.xml");button.addActionListener(findStudent);setBounds(10,10,900,300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}FindStudentByXPath.java importjavax.xml.xpath.*;importorg.w3c.dom.*;importjavax.swing.*;importjava.awt.event.*;importorg.xml.sax.*;publicclassFindStudentByXPathimplementsActionListener{XPathFactoryxPathFactory;XPathxPath;StringpositionPath;InputSourcesource;JTextFieldinputName,inputNumber;JTextAreashowResult;FindStudentByXPath(JTextFieldinputName,JTextFieldinputNumber,JTextAreashowResult,StringfileName){this.inputName=inputName;this.inputNumber=inputNumber;this.showResult=showResult;xPathFactory=XPathFactory.newInstance();xPath=xPathFactory.newXPath();source=newInputSource(fileName);this.positionPath=positionPath;}publicvoidactionPerformed(ActionEvente){showResult.setText(null);StringstudentName=inputName.getText().trim();StringstudentNumber=inputNumber.getText().trim();Stringpredicates="[contains(姓名,""+studentName+"")and"+"contains(@学号,""+studentNumber+"")]";Stringpath="/学生列表/学生"+predicates+"/*";//XPath路径表达式try{NodeListnodelist=(NodeList)xPath.evaluate(path,source,XPathConstants.NODESET);intsize=nodelist.getLength();for(intk=0;k2.答:student{display:block;font-size:18pt;color:red;}3.答:假设XML文件中有三个标记的名称都是“name”,“ID”属性分别是a001,a002,a003。CSS文件如下:namea001{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-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.答:不可以3.答:student.xml<雇员列表><雇员><姓名>张三<月薪>1235.89<参加工作时间>2000-12-12<雇员><姓名>李四<月薪>3234.82<参加工作时间>2001-10-28employee.xsd '