XML 入门学习笔记(二)

 

   1.2.1 XML Tree结构

XML文档被作为element tree格式,一个xml tree是从一个root element开始,然后延伸到每个根节点的子元素。所有元素都有子元素(child elements):

<root>
  <child>
    <subchild>.....</subchild>
  </child>
 </root>

    这组parent、child、subchild被用来描述元素之间的关系。Parent有child,child有parent、subchild在相同的level。所有的元素都有text内(Harry Potter)容和属性(category=“cooking”)。

2.1  自我描述的语法

XML使用的大多数语法都是用户自己描述的,一个xml版本的开端和字符的编码:

<?xml version="1.0" encoding="UTF-8"?>

下一行是xml文档的root element :

<bookstore>

下一行开始是一个<book>元素:

<book category="cooking">

这个<book>元素有4childelement<title>,< author>, <year>,<price>.

<title lang="en">EverydayItalian</title>
<author>Giada DeLaurentiis</author>
<year>2005</year>
<price>30.00</price>

 

这下一行是<book>元素的结束:

</book>

你可以使用包含一个bookstores所用图书信息的xml文旦来呈现数据,如上边的例子。

 

 

 

2.2  XML语法规则

XML的语法规则非常简单和逻辑清晰的,这种规则很容易去学习和使用的。

1.        XML文档必须有一个root element

Xml文档必须有一个root element,该root element是所有其他元素的parent:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

note.xml例子中的<note>

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don'tforget me this weekend!</body>
</note>

 

2.        XML的prolog

XML的prolog:

<?xml version="1.0" encoding="UTF-8"?>

XML的prolog是可选择的,如果它存在,它必须在xml文档的开端,XML文档可以包含国际 字符,像Norwegian øæå or French êèé.为了避免出错,你需要指定encoding格式,或者保存你的xml文件为utf-8格式。Utf-8是xml文档默认的encoding格式。UTF-8 is also the default encoding for HTML5, CSS,JavaScript, PHP, and SQL.

字符编码学习在:http://www.w3schools.com/charsets/default.asp

 

3.        所用的XML元素必须有结束Tag

在html,一些元素不需要结束tag可能能正常工作:

<p>This is a paragraph.
<br>

在xml,必须要有一个结束标记:

<p>This is a paragraph.</p>
<br />

Note:XML的prolog不需要一个结束标记,因为prolog不是xml文档 的一部分。

 

4.        XML Tag是大小写敏感

XML tag是大小写敏感的,标记<Le>和<le>是不同的,一个元素的开始和结束标记必须要是相同字母:

<Message>This isincorrect</message>
<message>This iscorrect</message>

5.        XML Attribute value必须要用双引号

XML元素如果包含属性,这属性的name/value和HTML一样成对出现的,在xml中,属性的值必须要用双引号:

错误:

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

整确:

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

 

6.        Entity Reference(实体引用)

在XML中一些字符有特殊的寓意,如果你在XML元素中发现像“<”字符,xml文档将会报错,因为解析器把“<”作为一个新元素开始。

一个错误的xml:

<message>salary< 1000</message>

为了避免这个错误,用一个实体引用替代”<”字符:

<message>salary < 1000</message>

 

在xml中的5个预定义的实体引用:

&lt;

less than

&gt;

greater than

&amp;

&

ampersand 

&apos;

'

apostrophe

&quot;

"

quotation mark

 

 只有“<”和“&”是严格合法的在xml中,但是那不是一个好的习惯。

 

7.        XML中的注释

XML的注释和html中的注释类似:

<!-- This is a comment -->

在注释中加入两个连续破折号(--)是不允许的:

<!-- This is a --comment -->

但是,在注释中间添加两个间断的破折号(--)是允许的:

<!--This is a - - comment -->

8.        在XML中空格(White-space)是保留的

XML不截断多个空格(HTML截断多个空格,把多个空格变为一个):

XML:

Hello           Tove

HTML:

Hello Tove

 

9.        XML用LF存储新行

Windows应用程序存储新行用:CR + LF

Unix 与 Mac OSX用LF

老的Mac系统用CR

XML用LF存储新行

你可能感兴趣的:(xml)