XML基础语法

一、什么是XML?

XML全称是Extensible Markup Language,可扩展标记语言。很类似HTML。XML的目的是传输数据而非显示数据。XML的标签没有被预定义,你需要自行定义标签。XML被设计为具有自我描述性。是W3C的推荐标准。

 

二、为什么学习XML?

用来解决程序间数据传输的格式问题

做配置文件

充当小型数据库

 

三、XML与HTML的区别。

         首先,XML不是HTML的替代,他们是为不同的目的而设计的,XML用来传输存储数据,焦点是数据的内容;HTML用来显示数据,焦点是数据的外观。XML用来传输信息,HTML用来显示信息。

 

四、XML基本语法特点

1、XML是不作为的,也就是说它不会做任何事情,只用来结构化,存储以及传输信息。

例如下面的便签:

 

<Note>
<Receiver>Bob</Receiver>
<Sender>John</Sender>
<Title>Reminder</Title>
<Contents>Don't forget the meeting!</Contents>
</Note>

 很显然,上面的这条便签具有自我描述性,它拥有标题,内容,发送者,接受者等信息。

 

但是,这个XML文件没有做任何事情,它仅仅只是一些信息,我们依然需要编写程序才能发送接收和显示这个文档。

2、XML仅仅只是文本。

3、XML中的标签由设计者决定。

4、XML仅仅是对HTML的补充而非替代。

5、XML是一种树结构,文档中包含且必须有根元素,由根部开始扩展到底部。

例如:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
  <child2>
    <subchild2>.....</subchild2>
  </child2>
</root>

 6、XML区分大小写

 

 7、所有元素必须有关闭标签<p> </p>

 8、XML必须正确嵌套<B><C> </C></B>是对的,而<B><C> </B></C>是错的。

 9、XML的属性必须加引号,XML中单引号和双引号都同等看待,单引号中可嵌套双引号,双引号中可嵌套单引号。

 10、XML的转义: < > & ' " 这几个字符不能直接写在内容里。分别对应的转义为&lt; &gt; &amp; &apos; &quot;

 11、命名规则,最好是<book_title>,尽量避免  -  .  : 这种字符。

  • 名称可以含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字符 “xml”(或者 XML、Xml)开始
  • 名称不能包含空格

 12、在XML中,尽量避免使用属性,多使用子元素,这样可以使结构看起来更加清晰。例如:

   这是使用属性的代码:

 

<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person> 

    这是使用子元素的代码:

 

 

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person> 

 13、<![CDATA[

......

   ]]> 这个中间可以写任意内容,包括<>&等等,但是内容中不能出现连续的]]>。 

五、XML的验证

 

拥有正确语法的XMl被称为“形成良好”的XML;通过DTD验证的XML是“合法”的XML。

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<!--这是注释:上一行是对外部DTD的引用,用来校验元素名称是否合法-->
<note>
<receiver>George</receiver>
<sender>John</sender>
<title>Reminder</title>
<contents>Don't forget the meeting!</contents>
</note>  

 Note.dtd

 

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

 

 

六、一个完整的XML文档

<?xml version="1.0" encoding="utf-8">
<bookstore>
<book category="CHILDREN">
  <title>Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title>Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore> 

 

你可能感兴趣的:(xml)