XML——XML介绍和基本语法
1.XML历史gml(1969)->sgml(1985)->html(1993)->xml(1998)
2.为什么需要XML1.需求1 在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可以分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其他标签描述其他数据,以此来实现数据关系的描述。 3.XML常见应用1.XML的出现解决了程序间数据传输的问题: 2.XML可以做配置文件 3.XML可以充当小型的数据库 入门案例:用XML来记录一个班级信息。 <?xml version="1.0" encoding="gb2312"?>
<class>
<stu id="001">
<name>杨过</name>
<sex>男</sex>
<age>20</age>
</stu>
<stu id="002">
<name>小龙女</name>
<sex>女</sex>
<age>21</age>
</stu>
</class>
我们可以用浏览器打开: 那么我们的XML能不能像html那样显示在网页上呢?也是可以的,它也可以用css来修饰,但我们不用,我们只需要使用XML来存储数据。 在这个例子中,如果我们把第一行的编码改为utf-8,再用浏览器打开会报错,这是为什么呢?
4.XML语法一个XML文件分为如下几部分内容: 4.1.XML语法-文档声明<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
XML声明放在XML文档的第一行
4.2.XML语法-元素(或者叫标记、节点)
<a>www.sohu.com</a>
<a></a>,简写为:<a/>
<a>welcome to <b> www.sohu.com </a></b>
这种情况肯定是要报错的。
<stu>xiaoming</stu>
和如下: <stu>
xiaoming
</stu>
4.3.XML语法-属性<student id="100">
<name>Tom</name>
</student>
<元素名 属性名1="属性值1" 属性名2="属性值2">
4.4.XML语法-注释XML的注释类似于HTML中的注释: <!--这是一个注释-->
4.5.XML语法-CDATA节假如有这么一个需求,需要通过XML文件传递一幅图片,怎么做呢?其实我们看到的电脑上的所有文件,本质上都是字符串,不过它们都是特殊的二进制字符串。我们可以通过XML文件将一幅图片的二进制字符串传递过去,然后再解析成一幅图片。那么这个字符串就会包含大量的<,&或者“等一些特殊的不合法的字符。这时候解析引擎是会报错的。 所以,有些内容可能不想让解析引擎解析执行,而是当做原始内容处理,用于把整段文本解释为纯字符数据而不是标记。这就要用到CDATA节。 语法如下: <![CDATA[ ...... ]]>
CDATA节中可以输入任意字符(除 如下例,这种情况它不会报错,而如果不包含在CDATA节中,就会报错: <stu id="001">
<name>杨过</name>
<sex>男</sex>
<age>20</age>
<intro><![CDATA[ad<<&$^#*k]]></intro>
</stu>
4.6.XML语法-处理指令处理指令,简称PI(processing instruction)。处理指令用来指示解析引擎如何解析XML文件,看下面一个例子: 比如我们也可以使用css样式表来修饰XML文件,编写my.css如下: name{ font-size:80px; font-weight:bold; color:red; }
sex{ font-size:60px; font-weight:bold; color:blue; }
sex{ font-size:40px; font-weight:bold; color:green; }
我们在xml文件中使用处理指令引入这个css文件,如下: <?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet href="my.css" type="text/css"?>
<class>
<stu id="001">
<name>杨过</name>
<sex>男</sex>
<age>20</age>
</stu>
<stu id="002">
<name>小龙女</name>
<sex>女</sex>
<age>21</age>
</stu>
</class>
这时候我们再用浏览器打开这个xml文件,会发现浏览器解析出一个带样式的视图,而不再是单纯的目录树了: 但是XML的处理指令不要求掌握,因为用到的很少。 5.格式正规的XML文档-小结语法规范: 1.XML声明语句 2.必须有一个根元素 3.标记大小写敏感 4.属性值用引号 5.标记成对 6.空标记关闭 7.元素正确嵌套 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |