XML入门知识笔记

XML stands for eXtensible Markup Language.

XML is designed to transport and store data.

XML is important to know, and very easy to learn.

XML就是一种标记语言,用"<something>"开头"</somethine>"结尾,把内容框在里面

具体格式就像这样:

1 <?xml version="1.0"?>
2 <note>
3     <to>Tove</to>
4     <from>Jani</from>
5     <heading>Reminder</heading>
6     <body>Don't forget me this weekend!</body>
7 </note>

这是一个类似于“提醒信息”(note)的数据,是Jani给Tove的提醒信息(remainder),内容是"Don't forget me this weekend!"(body)

这整一个就是一个XML文档,里面是“提醒信息”的数据。

 

XML可以说是一种格式,遵守这种格式的文档就是XML文件了。

XML文件中包含:

  这是什么数据:<heading></heading>

  数据的内容:Reminder

  (在“<heading>Reminder</heading>”这个element中)

为什么会产生XML呢?应该是为了个方便的交换数据。举个例子:

两个国家之间的信件地址格式不一样。一个国家是“省份-地区-城市-街道-门号-国家”,而另一个国家是“城市-街道-门号-地区-省份-国家”,两个国家通信起来就会有困难:到底哪个部分对应的是城市,哪个部分对应的是街道。这里只有两个国家还好说,但是在软件应用程序的世界里,有成千上万的“国家”(程序),他们想彼此交换数据就的话就非常困难。所以为了统一这种“信件地址”数据的格式,XML就产生了。

 

既然XML是用来方便交换数据的,那不难理解,他的内容包含的就是要交换的数据。

又为了说明这个是什么数据,所以每个数据都用标签框起来,来说明这是说明数据。

于是就有了:

<to>Tove</to>
<from>Jani</from>

(意思是“从Tove送到Jani”)

记住,XML是一种格式,和PHP等脚本语言不一样,没有专门对应的解释器之类的程序来执行代码。

 

XML Tree 结构:

<?xml version="1.0"?>
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>

这个例子中就是:

  note

    +--to

    +--from

    +--heading

    +--body

这种结构,noterootto等等是child

 

XML 标签(Tag) 的属性(attribute):

<note date="12/11/2007">
  <to>Tove</to>
  <from>Jani</from>
</note>

这段代码中notedate就是note标签的属性,属性的值一定要用""或者''号括起来。

一般属性是记录Meta数据的,就是Data about Data(关于数据的数据),例如:

<photo type="gif">"D:\\myphoto.gif"</photo>

这之中的type就是说明这个标签中的图片数据的格式是Gif。就是关于数据的数据。

所以一般情况下避免包数据写进属性,因为这样会增加维护困难度。

 

特殊的符号:

这中间的“<”号会应发一个XML的错误(中间那个‘<’号):

<message>if salary < 1000 then</message>

这个时候应该避开这种用于XML格式的符号,用这个代替:

<message>if salary &lt; 1000 then</message>

这里的所有符号都应该换成以下文字:

&lt;

<

less than

&gt;

>

greater than

&amp;

&

ampersand 

&apos;

'

apostrophe

&quot;

"

quotation mark

 

 

XML的注释:

<!-- This is a comment -->

是和HTML一样的。

 

XML的DTD(Document type definition):

(这个在这稍微了解一下,具体的要参考DTD的教程)

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>

那个<!DOCTYPE ... >就是DTD,用来定义文档中的合法的元素和结构(就是一个元素里包含有那几个标签)。也就是说如果你在XML里使用了没有出现在DTD中的标签就会报错而停止运行。这里是用读取了一个系统中的“Note.dtd”文件。

而这句还可以这么写:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

具体的内容要看DTD的教程了。

 

最后,注意:

1XML是区分大小写的!(Case-Sensitive

2,一定有一个element包含所有其他element,也就是说一定有一个root element

3,一定要关闭标签,就是说每个标签都应该是一对的,有开头,有结尾。

4,标签的属性的值一定要用""或者''号括起来。

 

参考资料:http://www.w3schools.com/xml/default.asp

posted @ 2013-06-07 15:31  大火人  阅读(212)  评论(0编辑  收藏  举报