今天小编跟大家讲解下有关XML入门教程:分析XM ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关XML入门教程:分析XM 的相关资料,希望小伙伴们看了有所帮助。
分析XML文档可通过程序来做 分析器有两大类 一种是事件驱动的 一种是基于树模型的。 分析XML文档可通过程序来做 分析器有两大类 一种是事件驱动的 一种是基于树模型的。 使用事件驱动的分析器时 每遇到一个元素就会触发一个事件 由事件处理器进行处理。事件分析器按顺序读取XML文档 而不把整个文档读入内存 所以处理速度很快。但缺点是由于要从头到尾读取XML文档 因此无法在XML文档中移动位置。事件驱动分析器适合处理其它地方使用的XML数据 如转换成HTML文档或从文件中读取数据并插入数据库中。它的优点有: 文件搜索 从XML文档中搜索需要的标志或数据; 格式转换 如转换成HTML。任何需将原始XML转换成另一种格式的工作都最好使用事件驱动分析器来完成 因为它可动态将信息转换成新格式。 少量修改 你可用事件驱动分析器读取和重新生成XML。在分析过程中 可以改变少量的单语、字符数据内容或重新构造XML。事件驱动分析器特别适合整理和重新格式化XML文档。 简单验证 由于整个文档不在内存中 所以无法进行完整验证 但可检查拼写错误和一般良构XML文档之类的简单问题; 建立内部结构 可以使用事件驱动分析器建立XML文档的复杂内部表示 如基于树的接口使用的树式结构。 事件驱动分析器不能在XML文档间交叉引用文档内容 但它使用简单 速度快。 基于树的分析器把整个XML文档读入内存 并生成树状结构。分析器可随机访问树中的任意节点 并能修改树结构和内容。 1.分析器工具现有的分析器种类有上百种 但常用的是两个标准的工具库 一个是XML简单API(SAX Simple API for XML)和文档对象模型(DOC document Object Model)。SAX是事件驱动分析器的标准 而DOM是基于树的分析器标准。另外 Expat虽然不是标准 但它是脚本语言中处理XML时最常用的分析器。Expat由James Clark编写 是事件驱动分析器。本文由AIDI(https://)整理发布!转载请注明出处 谢谢!2.Unicode计算机并不能正真理解文本内容 它无法识别诸如a,b,c这类的字母 更不用说中文了。计算机所能理解的只有数字 如60 80等。字符集(character set)规定了字母到数字的映射关系 如65代表大写字母A。65称为码点(code point) 字符编码(character encoding)决定码点如何用字节表示。是用多了节还是单字节 高字节位表示什么 低字节位表示什么。不同国家使用不同的语言 不同程序使用不同的编码规范 在进行世界范围内的数据交换就要统一表示数据的字符编码规范。传统的ASCII字符集只定义了127个字符 其中前31个是控制符。127位之后的字符随平台不同而不同。大多数平台只能表示前127位 单字节(8位) 使得字符集中最多只能提供256个字符。这些标准字符称为罗马或拉丁字符集 用ASCII来表示中文、日文是远远不够的。为了解决字符集问题 出现了Unicode字符集。它可用多字节格式编码字符 目前标准允许2字节字符 支持65536个不同字符。标准的Unicode字符集为Latin-1(或ISO-8859-1)。有关Unicode的介绍可访问Unicode的官方网站:http://www.unicode.orgUnicode字符集为字符分配码点 即编号。这些编号可以用多种模式编码 如UCS-2、UCS-4、UTF-8、UTF-16。 UCS-2 也叫ISO-10646-UCS-2。每个字符用一个0~65535之间的两个字节的无符号整数表示。如A的Unicode码点为65 用两个字节00和41(十六进制)表示。B的Unicode码点为66 用两个字节00和42表示。UCS-2有两种形式:高字节(#x0041)在前和低字节(#x4100)在前。为区发高低位不同表示形式 采用UCS-2编码文档通常以Unicode字符#xFEFF(零宽度无间断空格)开头 一般称为字节顺序标记(byte order mark)。这个字符是不可见的。如果两个字节交换位置 得到的字符#xFFFE实际是不存在的。因此中通过查看UCS-2文档的前两个字符是#xFEFF还是#xFFFE 就可确定该文档是否是高字节在前。UCS-2的缺点:如果文本字符主要是拉丁文 由于采用两个字节 字符集编码是单字节字符编码的两倍;UCS-2不能与ASCII向前或向后兼容 用于单字节字符集的工具常常不适用于处理UCS-2编码文件。 UTF-8是一种可这长度的Unicode编码。0~127为ASCII码字符集 与ASCII编码完全兼容 每个字符采用一个字节编码。UTF-8用两个字节表示128~2047 该范围覆盖了最常见的非表意字母。其余的字符 主要来自汉语、日语和韩语 每个都用3个字节表示。如果Unicode的码点超过65535个字符 那么这些字符就会用4个字节编码。对于以拉丁文为主的文件 使用UTF-8比UCS-2可减少一半的文件大小。对于汉语、日语和韩语的文件 其大小会增加百分之五十。对于其它语言 文件大小相差不大。UTF-8是最常用的Unicode编码方式。 在Unicode流行以前 出现了一系列处理特定语言的单字节字符集 ISO将14种这样的字符集标准化成ISO 8859标准 分别是ISO-8859-1~14。ISO-8859-15是ISO-8859-1的修订版本。这些字符集统称ISO字符集。Cp1252是依赖于Windows平台的一种编码 是Windows的缺省字符集。该种编码不支持跨平台特性 尽量不要使用。MacRoman是Mac OS使用的一种非标准、单字节编码。在非Mac平台下使用也会有问题 尽量不要使用。本文由AIDI(https://)整理发布!转载请注明出处 谢谢!在XML文档中 如果需输入编辑器不支持的字符 我们可用字符引用的方式 以十进制或十六进制给出它所代表的Unicode字符编号 如њ(十进制)或者њ(十六进制)。字符引用可用于元素内容、属性和注释 不能用于元素名和属性名、处理指令或XML关键字。如果有一些字符需经常使用 则我们可为这些字符定义实体 这样 在文档中就可方便地引用该实体了。专门定义字符实体的DTD我们可独立出来 形成以.ent为后缀的外部DTD。在需要时使用外部参数实体引用将这些定义引入文档的DTD中。XHTML 1.0 DTD包含有三个有用的字符引用实体可在文档中使用。 Latin-1字符 http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent ISO-8859-1中自160以上的非ASCII码字符。 特殊字符 http://www.w3.org/TR/xhtml/DTD/xhtml-special.ent ISO-8859-2中不在Latin-1中的字母。 标点符号 http://www.w3.org/TR/xhtml-symbol.ent 希腊字母表(不包含带重音的字符)和各种标点符号、数学运算符及其他数学中常用的符号。 在XML文档中可以使用xml:lang属性规定元素内容采用的语言。这样就可在一篇文档中同时使用多种语言 这是XML跨平台和跨语言的重要特性之一。如:xml:lang="CN-CHN"。语言代码是一个两个字母的语言代码 语言代码后还可跟一个子代码 语言代码可在这里找到http://ftp.ics.uci.edu/pub/ietf/http/related/iso3166.txt。下面是xml:lang属性声明的示例:<!ELEMENT test (#PCDATA)><!ATTLIST test xml:lang NMTOKEN #IMPLIED>由于所有语言代码都是有效的XML名称标记 所以使用NMTOKEN类型。来源:爱蒂网