




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章XML文件的规则 2 2XML中标记设置 2 3特殊字符处理 2 4CDATA段 2 5标记的文本数据 2 1XML声明 第2章XML文件的规则 2 9区分大小写 2 10标记的子标记的关系 2 6属性设置 2 7注释设置 2 8名称空间 一个规范的XML文件 声明应当在文件的第一行 在其前面不能有空白或其他的任何字符 声明以 结束 XML的声明用来说明这是一个XML文档 声明中包含了XML文件的相关信息 下面是一个XML声明 2 1XML声明 2 1 1XML声明中的版本属性 2 1 2XML声明中的编码属性 2 1 3XML声明中的独立属性 注意 之间不要有空格 返回 XML声明中的版本的属性 version该属性指出该XML文件遵循那个版本的XML规范 一个XML声明可以只包含版本属性 如果声明中还包含有其它属性 版本属性必须排在其它属性之前 目前 版本属性的值只可以取1 0 XML的1 1版本还没有被正式公布 如果将XML的声明中的版本属性值设置成 1 1 XML声明中的版本属性 返回 出现的错误如下图所示 XML声明中的版本的属性 encoding XML声明中的编码属性 1 在XML规范中列出了很多编码的类型 常用可选的字符集有 GB2312或GBK 简体中文编码 BIG5 繁体中文编码 UTF 8 压缩Unicode编码 该属性规定了该XML文件采用编码的字集 如果没有明确地指出 encoding 的属性值 则默认值是 UTF 8 在保存XML文件时必须选择相同的字符编码 XML声明中的编码属性 2 小李1234567 标记的中文可以正常显示 如图所示 如果XML文档使用中文标记或出现中文内容 就应该在XML声明中使用 GB2312 编码 例如 如果不使用gb2312编码 而是使用默认的编码 解析器将会提示错误 例如将XML文件写成如下形式 XML声明中的编码属性 3 小李1234567 解析器报告的错误如图所示 返回 XML声明中的版本的属性 standalone XML声明中的独立属性 该属性用来说明XML文件是否是完全独立的 即是否与其他文件相关联 该属性可以取值为 yes 或 no 一个XML文件能够完全独立被理解而无需读取其他文件 就是一个独立的XML文件 反之 如果不引用其他外部实体或数据源就不能进行句法分析 则这样的文件就不是一个独立的文件 独立的XML文件的声明中standalone属性的值设置为 yes 如果没有显示地指明该属性 则默认值是 no 返回 2 2XML中标记设置 XML文件中的标记分为空标记和非空标记两种 2 2 4标记的名称 2 2 2非空标记的设置 2 2 5根标记 2 2 1空标记的设置 2 2 3非空标记的内容设置 返回 空标记的设置 所谓的空标记就是没有任何标记内容的标记 因为空标记不标记任何内容 所以不需要开始标记和结束标记 空标记以 结束 可以含有属性也可以不含有属性 格式为 注意 之前可以有空格或回车 例如 返回 非空标记的设置 1 含有标记内容的标记称为非空标记 非空标记必须由 开始标记 与 结束标记 组成 开始标记以 结束 之间是标记的名称和属性列表 开始标记的格式为 结束标记以 标识结束 之间是标记的名称 结束标记不含有属性 结束标记的格式为 非空标记的设置 2 开始标记 和 结束标记 之间的是该标记所标记的内容 例如 小王 注意 开始标记中 前面可以有空格或回车 结束标记中 前面可以有空格或回车 结束标记的名称要与开始标记的名称一致 返回 非空标记的内容设置 1 非空标记的标记内容可以由文本数据和标记构成 其中的标记称为该标记的子标记 文本数据可以由任何的可见或不可见字符组成 例如 小王男 标记所标记的文本数据是 小王 它还包含一个子标记 该子标记所标记的文本数据是 男 非空标记的内容设置 2 第二个例子 appleappleapple 在上述代码中 3个 标记所标记的内容不是完全相同的 第一个 标记所标记的内容是跟在开始标记后面的换行符 apple 和后面的换行符 第二个 标记所标记的内容就是 apple 第三个 标记所标记的内容是 apple 及后面的空格符 返回 标记的名称 无论是空标记还是非空标记都要有一个名称 用户在定义标记的时候 标记的命名必须满足如下规则 1 名称可以由字母 数字 下划线 点 或连字符 组成 不能含有空格 2 名称必须以字母或下划线开头 3 如果XML文件采用UTF 8等编码 标记的名称还可以包含汉字及其它多种语言中的文字 以下都是合法的标记名称 返回 根标记 一个XML文件中必须有且只有一个根标记 其他标记必须封装在根标记中 XML文件中的标记必须形成树状分层结构 例如 orange1 0banana2 0 文档结构图 返回 2 3特殊字符处理 1 XML中有5种特殊字符 左尖括号 小于号 与符号 单引号 和双引号 这些字符在XML中称为标记字符 是标记的组成部分 例如 Thescore 85 A 解析器会把 和 误认为XML的标记而不会当做大于号和小于号 如图所示 2 3特殊字符处理 2 如果在标记内容当中需要用到这些字符 就需要通过实体引用的方法 对于上面的5个特殊字符 XML有对应的5个预定义实体 见下表 2 3特殊字符处理 3 前面的程序可以修改为 Thescore 60 Cothers B 这样 解析器就能解析出预期的结果 如图所示 返回 2 4CDATA段 1 如果XML文件的一段标记内容中需要用到许多这样的特殊字符 文本数据中就会出现很多实体引用 在标记内容中大量使用实体引用会带来很多不便 如 文本数据阅读困难 为此 W3C引入了另一种方法CDATA CharacterData 段 CDATA段类似于HTML中的标记 包含在CDATA段中的内容会被XML解析器按原样解析出来 也就是说 解析器不对段内容做分析处理 所以 CDATA段中可以包含任意的字符 CDATA段用 作为段结束 段开始和段结束之间称为CDATA段内容 例如 85 A 2 4CDATA段 2 上例中CDATA中的内容内容 Thescore 85 A 60 Cothers B 不会被解析器分析处理 注意 的各个字符之间不能有空格符 CDATA段中不可以嵌套另一个CDATA段 返回 2 5标记的文本数据 1 标记的内容可以包括文本数据和标记 标记的文本数据中可以有普通的字符 CDATA段 字符引用和实体引用 普通字符可以是任意的字符 特殊字符使用见2 3节 对于无法从键盘输入到文件中的字符 如希腊字母 可以使用字符引用 字符引用的格式是 字符代码 或 x 字符代码 其中以 为开始的引用 使用的是字符的十进制代码 以 x 为开始的引用 使用的是字符的十六进制代码 字符的代码可以在字符映射表 依次单击 开始 程序 附件 系统工具 字符映射表 中找到 2 5标记的文本数据 2 一个实例 标记的文本数据 对应字符 利用DOM解析器解析 得到的结果如图所示 查看DOM解析器代码 返回 2 6属性设置 2 6 1属性的构成2 6 2属性的原则 XML的属性是指标记的属性 依附于标记而存在的 属性可以为标记添加附加信息 返回 属性的构成 属性名称和标记名称的命名规则相同 可以由字母 数字 下划线 点 或连字符 组成 但必须以字母或下划线开头 属性值是一个用单引号或双引号括起来的字符串 如果属性值中需要包含特殊字符 和 则必须使用字符引用或实体引用 属性的名称和属性值由等号连接 例如 标记内容 属性是由属性名和属性值构成的 是一个名值对 属性必须在非空标记的开始标记和空标记中声明 其格式为 属性名称和标记名称的命名规则相同 可以由字母 数字 下划线 点 或连字符 组成 但必须以字母或下划线开头 属性值是一个用单引号或双引号括起来的字符串 如果属性值中需要包含特殊字符 和 则必须使用字符引用或实体引用 属性的名称和属性值由等号连接 例如 返回 属性的原则 属性不体现数据的结构 只是数据的附加信息 设置属性的一个最基本原则 不要因为频繁使用属性而破坏XML的数据结构 例如 这个结构就不是很好 如果都设置成子标记 结构就会变得清晰 如 男2517565123456712345678987654321 返回 2 7注释设置 1 注释是对文档内容和结构的解释 XML文件的注释和HTML文件的注释相同 以 结束 XML文件的注释不属于文件的内容 所以 XML解析器会忽略注释部分的内容 不做分析处理 例如 注释不是XML的标记 它们可以放在根标记之前或之后 但是注释不能位于XML声明之前 2 7注释设置 2 在XML中使用注释应当注意一下几点 注释不能出现在XML声明之前 注释不能出现在标记中 注释中不能出现连续两个连字符 即 如 注释中可包含标记 但标记中不能包含 被包含的标记解析时将被忽略 注释不能嵌套 返回 2 8名称空间 名称空间用来区分相同名称标记 XML的名称空间分为有前缀名称空间和无前缀名称空间 2 8 1有前缀和无前缀的名称空间 2 8 2标记中声明名称空间 2 8 3名称空间的作用域 2 8 4名称空间的名字 返回 有前缀和无前缀的名称空间 1 声明有前缀的名称空间 xmlns 前缀 名称空间的名字 xmlns 名称空间的名字 声明无前缀的名称空间 例如 xmlns zs jilinxmlns 12345 有前缀和无前缀的名称空间 2 如果两个名称空间的名字相同 则称这两个名称空间相同 也就是说 对于有前缀的名称空间 如果前缀相同 名称空间的名字不同 它们也是不同的名称空间 前缀不同 名称空间的名字相同 它们也是相同的名称空间 前缀的作用只是方便引用名称空间而已 注意 名称空间的前缀不能用 xml xmlns 与 以及 与前缀之间不能有空格 返回 标记中声明名称空间 名称空间是通过在标记中声明名称空间来建立的 在标记中声明名称空间必须在标记的 开始标记 里声明 而且名称空间的声明必须放在开始标记中标记名称的后面 例如 出生日期 1980 10 10出生日期 1981 11 12 一个标记中可以声明多个名称空间 声明名称空间并不代表一定要使用名称空间 返回 名称空间的作用域 名称空间的作用域就是该名称空间的作用范围 一个名称空间的作用范围是声明名称空间的标记及其子孙标记 除非子孙标记又声明了名称空间 下面通过一个例子加以说明 appleorangebanaba 其中红色为名称空间 ns1 的作用范围 蓝色为名称空间 ns2 的作用范围 返回 名称空间的名字 名称空间的名字可以是任意的 目的是区分相同名字的标记 W3C推荐使用统一资源标识符 UniformResourceIdentifier URI 作为名称空间名字 一个URI是一个具有一定语法 用来标识资源的字符串 它可以是一个主机域名 一个文件绝对路径或一个E mail地址等 在一个XML文件中 一个URI不必是有效的 因为它的作用只是用来区分标记的名字 例如 http www w3c org http www abc abc 它们都是合法的名字 但不一定都是有效的地址 返回 2 9区分大小写 在XML的规范中规定 XML文件中的标记 属性 名称空间等的名字是严格区分大小写的 例如 book 与 Book 是两个不同的名字 cdata 也不是CDATA段的开始标记 一个例子 XML文件中名字区分大小写 用IE6 0打开该XML文件会出现如图所示的结果 返回 2 10标记的子标记的关系 一个规范的XML文件必须有且只有一个跟标记 其他标记都必须封装在根标记中 称为根标记的子标记 一个标记的子标记的子标记称为该标记的孙标记 一个标记的子标记也称为该标记的1级子标记 孙标记称为该标记的2级子标记 以此类推 一个XML文件的标记应当形成树状的结构 如图所示 返回 DomParse javaimportorg w3c dom importjavax xml parsers importjava io publicclassDomParse publicDomParse try 获得DocumentBuilderFactory对象DocumentBuilderFactorydomfac DocumentBuilderFactory newInstance 创建DOM解析器DocumentBuilderdombuilder domfac newDocumentBuilder 解析指定的XML文件Documentdocument dombuilder parse newFile 01 xml 根据标记名称获得node标记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铣床考试试题及答案
- 化学氧气考试题及答案
- 视网膜脱离考试题及答案
- 一次函数试题及答案
- 校内外玩耍安全知识培训课件
- 2025年达州市水利发展有限责任公司招聘考试笔试试题(含答案)
- 树脂工艺基础知识培训总结
- 2025年药物临床试验质量管理培训试题及答案
- 抢救药品试题及答案
- 2025年农机以租代购合同范文
- 2025总公司授权分公司签订合同的示范文本
- 2025年医师定期考核法律法规试题及答案
- 学堂在线 大学计算机基础 章节测试答案
- 上海金山区卫生系统招聘考试(护理学专业知识)题含答案2024年
- GB/T 6075.6-2024机械振动在非旋转部件上测量评价机器的振动第6部分:功率大于100 kW的往复式机器
- 住宅项目景观工程施工策划(图文并茂)
- 怀念汪世清先生
- 干细胞治疗骨关节炎课件
- 工作场所空气中的粉尘测定
- 《汽车电工电子技术》全套教案(完整版)
- 筛分、破碎、磨矿与分级
评论
0/150
提交评论