欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

XML基础语法 博客分类: XML XML

程序员文章站 2024-03-11 21:15:13
...

一、什么是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