博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

xml 学习笔记

Posted on 2013-05-20 17:38  Step at a time  阅读(318)  评论(0编辑  收藏  举报

1、XML 常见应用

  • xml的出现解决了程序间数据传输的问题: 用xml格式来传送数据,具有良好的可读性性,可维护性。
  • xml可以做配置文件,xml文件做配置文件可以说非常的普遍。
  • xml可以充当小型的数据库,xml文件做小型数据库,也是不错的选择,我们程序中可能用到一些经常要人工配置的数据,如果放在数据库中读取不合适(因为你要增加维护数据库工作),则可以考虑直接用xm来做小型数据库 【比如msn中保存用户聊天记录就是用xml文件的】,而且直接读取文件显然要比读取数据库快

2、xml 语法

a、文档声明:<?xml version="1.0" encoding=“utf-8"  standalone="yes"?>

XML声明放在XML文档的第一行

XML声明由以下几个部分组成:

version - -文档符合XML1.0规范,我们学习1.0

encoding - -文档字符编码,比如”utf-8”

standalone - -文档定义是否独立使用

standalone="yes“

standalone=“no”   默认

b、元素

每个XML文档必须有且只有一个根元素

XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

•包含标签体:<name>Lucy</name>
•不含标签体的:<country></country>, 简写为:<country/>
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
  • 区分大小写,例如,<P><p>是两个不同的标记。
  • 不能以数字或"_" (下划线)开头。
  • 不能以xml(XML、或Xml )开头。
  • 不能包含空格。
  • 名称中间不能包含冒号(:)。

c、属性

<Student ID="100">

  <Name>UU</Name>

</Student> 

•属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)
•一个元素可以有多个属性,它的基本格式为:

<元素名 属性名="属性值">

•特定的属性名称在同一个元素标记中只能出现一次
•属性值不能包括<, >, &
 
d、注释

<!--这是一个注释-->

  • 注释内容中不要出现--;
  • 不要把注释放在标记中间;
  • <Name <!--the name-->>TOM</Name>
  • 注释不能嵌套;
  • 可以在除标记以外的任何地方放注释。
 
e、CDATA节
有些内容可能不想让解析引擎解析执行,而是当作原始内容处理,用于把整段文本解释为纯字符数据而不是标记的情况。包含大量<、>、&或者"字符。CDATA节中的所有字符都会被当作元素字符数据的常量部分,而不是XML标记。
如:使用xml文件来传递、保存一个图片.就利用到CDATA节

语法:

<![CDATA[

。。。内容。。。

]]>

可以输入任意字符(除]]>外)

不能嵌套

<?xml version="1.0" encoding="utf-8"?>
<!--这是注释-->
<class>
    <stu id="a001&quot;&lt;&apos;">
        <!--这是注释-->
        <name>张三</name>
        <sex>男</sex>
        <age>20</age>
        <country/>
        <介绍><![CDATA[223434vdv@@#$Fdf]>d<<>>>:::}}]]></介绍>
    </stu>
    <stu>
        <name>Lucy</name>
        <sex>女</sex>
        <age>18</age>
    </stu>
</class>

f、处理指令

  • 处理指令,简称PI processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
  • 例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。  <?xml-stylesheet type="text/css" href=“my.css"?>
  • 处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。