佛山市制作网站,域名 备案 没有网站吗,烟台市牟平区建设局网站,2024年重大新闻简短本文章集合两篇博文而写#xff0c;两篇博文地址#xff1a; XML学习总结(二)——XML入门#xff1a; XML基础第一篇
XML简介
XML是一种标记语言#xff0c;用于描述数据#xff0c;它提供一种标准化的方式来来表示文本数据。XML文档以.xml为后缀。需要彻底注…本文章集合两篇博文而写两篇博文地址 XML学习总结(二)——XML入门 XML基础第一篇
XML简介
XML是一种标记语言用于描述数据它提供一种标准化的方式来来表示文本数据。XML文档以.xml为后缀。需要彻底注意的是XML是区分大小写的。 先从一个简单的XML例子来了解下xml基础:
strong?xml version1.0 encodingutf-8 ?
books ISBN9787544238212titlexml学习笔记/titleprice30/pricepagecount300/pagecount
/books/strong 第一行表明本XML遵守的版本是1.0使用的字符编码是UTF-8字符集。 每个XML元素都已一个起始标记开始和一个结束标记结束。比如开始结束。XML元素可以带有属性属性值要加引号。比如上例中的ISBN就是属性属性值要加双引号。同时用等号连接。 一个XML文档只能够有一个根节点如上例中books就是根节点。 以下列出XML的几个要点
XML是一种可扩展标记语言XML的标记没有被预定义用户可以自行定义标记来描述数据XML主要用来描述和存储数据XML具有自我描述性XML是树状结构的文档是个结构化的文档XML文档是个文本文件
XML语法
声明 1. 每个开始标记都必须有结束标记 2. 一个XML文档只能够有一个根元素 3. 所有XML元素必须正确嵌套 4. 属性值必须加引号 5. 一个元素不能有相同的属性 6. 一个XML文件分为如下几部分内容
我们从以下模块介绍
文档声明元素属性注释 CDATA区 、特殊字符 处理指令processing instruction 命名空间
1.1、xml语法——文档声明 XML文档应当以XML声明开始不过不是必须的。
示例
strong?xml version1.0 encodingutf-8 standaloneyes ?
person张三
/person/strong 如果一个XML文档含有声明必须放在XML文档的第一行。 XML文档声明主要有三个参数。 版本 版本表示遵循的是W3C的XML1.0标准。 字符编码字符编码表示该XML文档使用的字符编码方式。对于中文文档应该使用UTF-8或者Unicode。如果是纯英文可以使ISO-8859-1编码。 独立 如果XML standalone的值是no表示它需要DTD。不需要DTD的XML文档standalone的值应该写为yes。 最简单的声明语法 ?xml version1.0 ? 例如
strong?xml version1.0?softCompanycompanyMicroSoft/companycompanygoogle/companycompanyApple/company
/softCompany/strong 浏览器解析结果如下 用encoding属性说明文档的字符编码?xml version1.0 encodingGB2312 ? 当XML文件中有中文时必须使用encoding属性指明文档的字符编码例如encoding”GB2312”或者encoding”utf-8”并且在保存文件时也要以相应的文件编码来保存否则在使用浏览器解析XML文件时就会出现解析错误的情况。 例如
strong?xml version1.0?softCompanycompanyMicroSoft/companycompanygoogle/companycompanyApple/companycompany百度/company/softCompany/strong 这个XML文件中没有使用encoding属性来指明文档的字符编码但文档里面有“百度”这样的中文字符在使用IE浏览器解析该XML文件时IE就不知道该使用什么编码去解析该文件就无法解析了出现的错误如下图所示 要想正确解析该XML文档就可以使用encoding属性指明该文档的字符编码。在保存文件时也要以GB2312编码来保存 例如
strong?xml version1.0 encodingGB2312?softCompanycompanyMicroSoft/companycompanygoogle/companycompanyApple/companycompany百度/company/softCompany/strong 此时再次使用IE浏览器来解析该XML文件就可以正常解析出里面的中文字符了如下图所示
1.2、xml语法——标记 标记分为开始标记和结束标记如就是一个开始标记。就是一个结束标记。开始标记与结束标记之间的内容成为XML元素的内容。如果一个XML元素没有内容我们称其为空元素。如。
1.3、xml语法——元素 XML元素指XML文件中出现的标签一个标签分为开始标签和结束标签一个标签有如下几种书写形式例如
包含标签体awww.cnblogs.com//a 不含标签体的a/a, 简写为a/
一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套绝对不允许交叉嵌套 例如
错误的写法awelcome to bwww.cnblogs.com//a/b
格式良好的XML文档必须有且仅有一个根标签其它标签都是这个根标签的子孙标签。
对于XML标签中出现的所有空格和换行XML解析程序都会当作标签内容进行处理。例如下面两段内容的意义是不一样的。
第一段
strong网址http://www.cnblogs.com//网址/strong
第二段
strong网址http://www.cnblogs.com//网址/strong 由于在XML中空格和换行都作为原始内容被处理所以在编写XML文件时使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。
一个XML元素可以包含字母、数字以及其它一些可见字符但必须遵守下面的一些规范 1. 不能以数字或”_” (下划线)开头。 2. 不能以xml(或XML、或Xml 等)开头。 3. 不能包含空格。 4. 名称中间不能包含冒号:
1.4、XML语法——属性
一个标签可以有多个属性每个属性都有它自己的名称和取值例如 input name“text” 属性是name属性值为“text”属性值一定要用双引号”或单引号’引起来定义属性必须遵循与标签相同的命名规范 。一个XML元素不能有相同的XML属性名。
多学一招在XML技术中标签属性所代表的信息也可以被改成用子元素的形式来描述例如
stronginputnametext/name/input
/strong XML元素中可以带有属性作为XML元素的附加信息。 - 如果属性值中包含双引号就用单引号包围属性值。如
strongsite info wo ai ni/strong - 如果属性值中包含单引号就用双引号包围属性值。如
strongsite info wo ai ni/strong - 一个XML元素可以有一个或多个属性每个属性用空格分开。如
strongperson namezhangsan age23/strong
1.5、XML语法——注释 XML注释以 !-- 开始以 -- 结束。XML文件中的注释采用 !--注释-- 格式。 注意 XML声明之前不能有注释, 注释不能嵌套例如
!--大段注释……!--局部注释--……--
1.6、XML语法——CDATA区 在编写XML文件时有些内容可能不想让解析引擎解析执行而是当作原始内容处理遇到此种情况可以把这些内容放在CDATA区里对于CDATA区域内的内容XML解析程序不会处理而是直接原封不动的输出。 语法![CDATA[ 内容 ]] 例如
strong?xml version1.0 encodingutf-8?soft![CDATA[a classNamegacl.xdpa1gacl/a1a2xdp/a2/a]]bb1孤傲苍狼/b1b2徐达沛/b2/b/soft/strong
该XML文件使用IE浏览器解析引擎解析执行后结果如下图所示 对于一些单个字符若想显示其原始样式也可以使用转义的形式予以处理。 例如 ?xml version1.0 encodingutf-8?softblt;b1gt;孤傲苍狼lt;/b1gt;b2徐达沛/b2/b/soft
解析器解析的结果如下图所示
1.7、XML语法处理指令 处理指令简称PI processing instruction。处理指令用来指挥解析引擎如何解析XML文档内容。例如在XML文档中可以使用xml-stylesheet指令通知XML解析引擎应用css文件显示xml文档内容标签名为中文时css不起作用。 ?xml-stylesheet typetext/css hrefcss文件名.css?
例如
?xml version1.0 encodingutf-8?
!--在XML文档中可以使用xml-stylesheet指令通知XML解析引擎应用country.css文件显示xml文档内容--
?xml-stylesheet typetext/css hrefcountry.css?
Countryc1中国/c1c2美国/c2c3日本/c3c4韩国/c4
/Country Country.css样式文件代码如下
strongc1{font-size:200px;color:red;
}
c2{font-size:150px;color:green;
}
c3{font-size:100px;color:#ccc;
}
c4{font-size:130px;color:blue;
}/strong 在浏览器中解析该XML文件的结果如下图所示 处理指令必须以”?“作为开头以”?“作为结尾XML声明语句(?xml version1.0 encodingutf-8?)就是最常见的一种处理指令。
1.8、XML语法命名空间 XML命名空间是为了解决当XML文档中存在多个相同名称的元素时避免冲突而引入的。 命名空间的语法
xmlns:prefix”URI” xmlns表示必须的属性。 prefix表示命名空间的别名它的值不能为xml。 URI用来标识抽象或物理资源的的紧凑字符串。为了保证标识的唯一性xml采用Internet上的网址作为这个标识符因为网址是独一无二的。 默认命名空间示例
strong?xml version1.0 encodingutf-8 ?
Article xmlnshttp://www.xxx.com/ !--默认命名空间--author age30张三/authorlength12000/lengthprice42/price
/Article/strong
带名字的命名空间|
strong?xml version1.0 encodingutf-8 ?
h:Article xmlns:hhttp://www.xxx.com/ !--带前缀的命名空间--h:author age30张三/h:authorh:length12000/h:lengthh:price42/h:price
/h:Article/strong
附录
xml编辑工具推荐 http://www.ibm.com/developerworks/cn/xml/x-xmltools/ 我这里使用的是 XML Copy Editor