XML学习笔记之入门

原创 2006年06月13日 23:20:00

标记语言的鼻祖是SGMLStandard Generalized Markup Language. 可扩展标记语言XMLeXtensible Markup Language)和我们所熟悉的 HTMLHypertext Markup Language)都是SGML的一个子集。

1、  XML声明

<? Xml version=”1.0” standalone=”yes” endcoding=”UTF-8”?>

这是XML处理指令的例子。处理指令以“<?”开始,而以”?>”结束。在“”后的第一个单词是处理指令名,这里是xml,代表xml声明。

Xml声明有versionstandaloneencoding三个特性。特性是由等号分开的名称-数值对,位于等号左边的是特性名,而其值位于等号的右边,并用双引号括起来。

每一个xml文档都以一个xml声明开始,用以指明所用的xml的版本。

上例中,version特性表明这个文档符合XML 1.0规范。

Standalone特性告诉我们文档是否在一个文件里,还是需要从外部导入文件。Yes代表所有的文档都在一个文件里完成。

Encoding选择UTF-8代表文档字符编码为UTF-8

2、  定义一个根元素

每个合格的XML文档必须有一个根元素。这是一个完全包括文档中其他所有元素的元素。

3、  XML元素的一些规则

1)  元素的基本结构由开始标记、数据内容、结束标记组成。

2)  大小写不同的标记含义不同

3)  结束标记必须带反斜杠

4)  当只有一个标记时可以写为<HR/>

5)  名字中可以包含字母、数字以及其他字母

6)  名字不能以数字或下划线开头

7)  名字不能以字母xml(    XMLXml。。)开头

8)  名字中不能包含空格和冒号

XML文档的常用元素:

1、注释

<!— 这是注释 -->

2PI(处理指令)

PI(Processing Instruction)

<?xml:stylesheet href=”style.css” type=”text/css”?>

这种写法表示这个xml文档用style.css样式来显示,样式表的类型是css.

3、  PCDATA

尽管文档中可以出现任何元素,但出现的元素必须声明。

<!ELEMENT YEAR(#PCDATA)>

该声明说明YEAR只能包含可析的字符数据,不能包含子元素。

例:<YEAR>98</YEAR>

    <YEAR>1998 C.E</YEAR>

是合法的。

<YEAR>

<MONTH>12</MONTH>

</YEAR>

是非法的。

4、  CDATA

CDATA段中所有文本都是纯字符数据。

<SAMPLE>

    <![CDATA[<DOCUMENT>

                <NAME>TOM CRUISE</NAME>

                <EMAIL>tom@usa.com</EMAIL>

             </DOCUMENT>]]>

</SAMPLE>

它以“<![CDATA[“开始并以“]]>”结束,需要注意的是,唯一不许出现在CDATA段中的文本是CDATA的结束界定符”]]>”

5、  实体(Entities

XML为我们预定义的五个实体:

实体      符号

&lt;       <

&gt;       >

&amp;      &

&quot;    

&apos;   

经典的实体例子就是图像。

    <!ENTITY LOGO SYSTEM “logo.gif”>

    <IMAGE SOURCE=”LOGO”/>

前一句是实体声明,后一句是引用实体。

如果在XML中直接使用实体,一般语法为:

    &实体名;

如果实体声明不在XML文件中,而是在文件外部,用“%”来代替“&:

    %实体名;

6、  DOCTYPE

“<!DOCTYPE[]>”紧随XML声明之后,它包括着所有的实体声明。基本格式如下:

<?xml version=”1.0”?>

<!DOCTYPE myDoc [

…declare the entities here …

        ]>

<myDoc>

…body of the document…

</mydoc>

 

例:

<?xml version=”1.0”?>

<!DOCTYPE CUSTOMERS [

<!ENTITY firstFloor “

15 Downing St
Floor 1”>

<!ENTITY secondFloor “

15 Downing St
Floor 2”>

]>

<!—CUSTOMERS is the root node -->

<CUSTOMERS>

      <CUSTOMER>

          <NAME>TOM CRUISE</NAME>

          <ADDRESS>&firstFloor</ADDRESS>

          <PHONE>1234567</PHONE>

      </CUSTOMER>

<CUSTOMER>

          <NAME>TOM CRUISE</NAME>

          <ADDRESS>&secondFloor</ADDRESS>

          <PHONE>1234567</PHONE>

      </CUSTOMER>

</CUSTOMERS>

7、属性

属性值必须加引号。

给自己留一个问题:

Attribute=value 来存储数据 与   用子节点的innerText来存储  有什么区别?

如:<?xml version=”1.0”?>

<CUSTOMERS>

      <CUSTOMER>

          <NAME>TOM CRUISE</NAME>

          <PHONE>1234567</PHONE>

      </CUSTOMER>

</CUSTOMERS>

 

Attribute来改写上面的例子。

<?xml version=”1.0”?>

<CUSTOMERS>

      <CUSTOMER NAME=”TOM CRUISE” HPONE=”1234567”/>

</CUSTOMERS>

也希望有人来解答我这个问题,在此恭候。

XML 入门学习笔记(一)

第一章    XML的介绍和使用 1.1  简介 XML是一种可扩展标记性语言,它主要用于存储和传输数据。它是连接人和机器的一个桥梁。 它的标记可以通过用户自己定义,它被W3C推荐。 XML Exam...

Android入门学习笔记(一)|基础知识|文件数据存储读取|解析XML

屏幕分辨率 HVGA:320×480 QVGA:240x320 WQVGA400:240X400 WQVAG432:240X432 WVGA800: 480X800 ...

xml入门学习笔记

在学习opendaylight开发的过程中,涉及到了java,Junit,maven,OSGI,git,xml等诸多知识,如果没有这些 知识储备,学习opendaylight模块变得很困难,这里转载...

XML入门学习笔记之XML解析技术---DOM解析

一.DOM

WebService学习笔记系列之三----通过javax.xml.ws.Service的方式调用WebService

在上一篇《》文章中讲解了通过wsimport的方式调用WebService。本文章学习使用javax.xml.ws.Service类来调用WebService。下面贴出调用的代码 import jav...

Xml高级学习笔记

  • 2013年11月11日 15:24
  • 351KB
  • 下载

安卓新手学习笔记 ——XML解析与JSON解析

刚开始学习安卓,跟着郭霖大大的《第一行代码》,开始慢慢打开安卓这扇大门。一路看下来,看到不会的就在网上搜资料,或者看官方的reference,基本还是蛮顺利的。不过遇到问题自己想办法解决的确很好,然而...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML学习笔记之入门
举报原因:
原因补充:

(最多只允许输入30个字)