XML入门知识笔记

mac2022-06-30  23

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 < 1000 then</message>

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

<

<

less than

>

>

greater than

&

&

ampersand 

'

'

apostrophe

"

"

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

转载于:https://www.cnblogs.com/warren-wong/archive/2013/06/07/XmlNote1.html

最新回复(0)