最新消息:

XML笔记1——XML概述

XML 大步 694浏览 0评论

xmlhtml

XML文档编辑工具:

XMLSpy
Stylus Studio

XML竞争对手:

  • java的 Annotaiton
  • JSON

JSON两种用法:

1.JSON 语法创建对象类似Map结构,它是由key-value对组成的数据结构。

 

 

注意:json 语法创建对象javascript对象时,属性值不仅可以是普通字符串,也可以是任何基本数据类型,还可以是函数、数组,甚至是另外一个用json语法创建的对象,例如:

 

2.使用json语法创建数组

  1.  

有效的xml文档需满足三个条件:

  1. 必须是格式良好的;
  2. 必须使用Schema或DTD指定了语义约束
  3. 必须遵守Schema或DTD所指定的语义约束

XML文档的整体结构

  1. 有且仅有一个根元素,这样才能转换成DOM树。
  2. 元素必须合理开始和结束,即标签是封闭的。(标签大小写敏感)
  3. 元素间合理嵌套
  4. 元素的属性必须有值
xml文档允许为xml元素指定属性,属性可以为xml元素提供更多的额外信息。

  1.  
同时,也可以将子元素改写为属性,前提是子元素包含的内容完全是字符串才可以,且保证程序可以有效读取。

元素的属性的顺序问题:

元素的属性的摆放顺序没有要求,因为元素的多个属性是无序的,因此同一个元素中不能出现两个同名的属性,也就是说元素的属性不能重复。但是xml元素内包含的子元素是有序的,因此同一个元素可以包含多个 同名的子元素。

xml的声明:

xml声明不是必需的,但一般建议加上。
声明需放到文档的第一行。
xml文档声明以“<?”开始,以"?>"结束。
指定声明的version属性,通常为1.0
两个可选属性:
encoding:指定对该xml文档进行解码所用的字符集
standalone:指定该文档是否需要引用其他的资源。该属性只接受yes 或 no 两个值。
一个完整的xml文档声明如下:
注意:在编辑和保存xml文档时候,要保证声明部分的encoding属性值应与保存该文件时所使用的字符集相同。

合法标签名:

  1. xml标签名大小写敏感。要求如下:
  2. 可以由字母(包括非西欧字符)、数字、下划线、中画线、冒号和点号组成,但不能以数字、中画线和点号开头。
  3. 标签名不能包含<、>、,、$等符号
  4. 标签名中尽量不要出现英文冒号,除非是在使用名字空间。
  5. 标签名不能以字符"xml",或其大小写组合开始。
  6. 标签名不能包含空格。
尽量避免使用中画线,如first-name ,一些软件会只提取第一个单词
尽量避免使用点号,first.name,一些软件会认为first是对象,name是属性
尽量避免使用英文冒号,使用冒号会被当成命名空间来处理。
建议使用数据库中字段命名的方式来。

空元素:

  1. <book />
或者是
  1. <book></book> //标签之间不能有空格字符
空元素不能包含子元素,也不能包含字符串内容,但完全可以接受属性,而且可以接受任意多的属性。

字符串数据:

xml与html不同,它会将标签间的任何字符都忠实的传递给xml处理程序。
  1. <book>
  2. <name> sky2</name>
  3. <name>
  4. sky2
  5. </name>
  6. </book>
html中,会将多余的空格字符裁剪为一个,而xml则不会,它只会原样的传递,所以上面两个sky2是不同的。
如果文本字符串包含了一些特殊的字符,例如尖括号(<) 或 and符号(&),由于这些符号在xml文档中都有特殊的含义,因此直接在xml元素中使用改字符串将引起文档混乱。

 

上面的文档将不能被解析。
解决办法::
1.使用实体引用:用另一个特殊标记来替代这些特殊符号。

在 XML 中,有 5 个预定义的实体引用:

&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; ' 单引号
&quot; " 引号

注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

则将上面的xml文档改为:

 

2.使用CDATA标记:将整段文档定义成字符串。
CDATA的语法格式如下:
  1. <![CDATA[文本内容]]>

     
这是因为xml不会对CDATA标记中的内容进行任何解析。

注释:

  1. <!-- 注释字符串-->
当然,注释可以包含元素和标签。
  1. <!--
  2. <game_name>cod11</game_name
  3. -->

处理指令:

告诉处理程序应该如何处理该文档。
  1. <?处理指令名 处理指令信息?>
常用的一个处理指令 xml-stylesheet ,用于为xml文档导入css。
  1. <?xml version="1.0" encoding="GBK" standalone="yes" ?>
  2. <?xml-stylesheet type="text/css" href="book.css" ?>
  3. <booklist>
  4. <itbook>
  5. <name> cod </name>
  6. </itbook>
  7. </booklist>
疯狂xml讲义 第二版的 第2章的第一个习题,将数据表转换为xml文档。
关键点就是user_id   表示,我们给它添加id属性。习题答案如下:

 

来自为知笔记(Wiz)

转载请注明:大步's Blog » XML笔记1——XML概述

SiteMap