XML基础教程课后习题解答

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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(String name):返回一个NodeList对象,该对象由当前节点的Element类型子孙节点组成,这些子孙节点的名字由参数name指定(2)getChildNodes():节点调用该方法返回一个由当前节点的所有子节点组成的NodeList对象。

2.答:分别是DocumentType类型和Element类型。

3.

JAXPXiti5.java

import org.w3c.dom.*;

import javax.xml.parsers.*;

import java.io.*;

public class JAXPXiti5

{

public static void main(String args[])

{

OutResult outContent=new OutResult();

try {

DocumentBuilderFactory factory=

DocumentBuilderFactory. newInstance();

DocumentBuilder builder= factory. newDocumentBuilder();

Document document= builder. parse(new File("a.xml")) ;

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);

}

}

}

class OutResult

{

double sumAllMath,sumAllPhysics,mathAver,physicsAver;

int mathNumber=0, physicsNumber=0;

public void output(NodeList nodeList)

{

int size=nodeList.getLength();

for(int k=0;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(parent.getNodeName().equals("数学"))

{

mathNumber++;

sumAllMath=sumAllMath+Double.parseDouble(content.trim());

}

if(parent.getNodeName().equals("物理"))

{

physicsNumber++;

sumAllPhysics=sumAllPhysics+Double.parseDouble(content.trim());

}

}

if(node.getNodeType()==Node.ELEMENT_NODE)

{

Element elementNode=(Element)node;

String name=elementNode.getNodeName();

System.out.print(name);

NodeList nodes=elementNode.getChildNodes();

output(nodes);

}

}

相关文档
最新文档