--------------------------------------------------------------------------------什么是XML元素?XML是一种标识语言,一组用来创建描述数据的语法标签的规则集。
一个XML元素是由开始标签、结束标签以及标签之间的数据构成的。
开始和结束标签用来描述标签之间的数据。
标签之间的数据被认为是元素的值。
例如,在下面一个XML元素的例子中,元素"di rector"的值是"Ed Wood"。
<director>Ed Wood</director>元素名("director")允许你把"Ed Wood"这个值标出来,这样你就能把这些数据同另外类似的数据区分开来。
例如,有可能另一个元素的值也是"Ed Wood"。
<actor>Ed Wood</actor>由于每个元素都有不同的标签名,所以你能很容易把上面两个元素的值区别开来。
如果从语义上没有办法把数据标出来,两个有同样值的元素会混淆起来。
属性一个元素可以包含一个或多个属性,属性是一个由“=”隔开的名称值,如:<CITY ZIP="01085">Westfield</CITY>在上面的例子中,ZIP="01085"是元素<CITY>的一个属性。
属性用来给一个元素添加附加的、次要的信息,通常是元信息,属性还可以使用缺省值,而元素却不能这样做。
元素的每一个属性可以以任意顺序进行说明,但仅能说明一次。
此外,XML标签对大小写敏感,因此以下这三个是不同的元素。
<City><CITY><city>第2课:处理XML文档--------------------------------------------------------------------------------什么是XML文档?一个基本的XML文档就是一个XML元素,它可以嵌套XML元素。
例如,下面的XML元素“books”就是一个有效的XML文档。
<books><book isbn="0345374827"><title>The Great Shark Hunt</title><author>Hunter S.Thompson</author></book></books>处理指导构建一个基本的XML文档需要记住关键的四点:所有元素必须有结束标签;所有元素必须正确的嵌套(不允许交迭元素);所有特征值必须加引号;每一个文档都必须有一个唯一的第一元素和根节点。
--------------------------------------------------------------------------------什么是XML数据岛?数据岛是指存在于HTML页面中的XML代码。
数据岛允许你在HTML页面中集成XML,对XML编写脚本,而不需要通过脚本或<OBJECT>标签读取XML。
几乎所有能够存在于一个结构完整的XML文档中的东西都能存在于一个数据岛中。
包括处理指示、DOCTYPE声明和内部子集。
(注意,编码串不能放在数据岛中。
)<XML>元素标记数据岛的开始,它的ID属性提供了一个可以用来引用数据岛的名称。
数据岛的XML可以是内嵌的:<XML ID="XMLID"><customer><name>Herbert Hanley</name><custID>81422</custID></customer></XML>或者在XML标签中通过SRC属性引用:<XML ID="XMLID"SRC="customer.xml"></XML>也可以使用<SCRIPT>标签来创建一个数据岛:<SCRIPT LANGUAGE="xml"ID="XMLID"><customer><name>Mark Hanson</name><custID>81422</custID></customer></SCRIPT>第4课:使用XML对象模型--------------------------------------------------------------------------------什么是XML对象模型?XML对象模型是一个对象集,可以使用这个对象集来访问或处理存储在XML文档中的数据。
XML文档构成一颗树,树上的每一个元素可以看作是一个节点,具有不同属性和方法的对象代表了树和它的节点,每个节点包含文档中的实际数据。
如何访问树中的节点?可以通过象脚本来访问树中的节点。
这些对象是在解析器装载并解析XML文档时由XML 解析器创建的。
通过ID值可以引用树,或文档对象。
在下面的例子中,MyXMLDocument是文档的对象的ID值,使用文档对象的属性和方法可以访问树的根和子节点对象。
根,或文档元素,是最顶层的节点,子节点从根上扩展开形成XML树。
根节点只可以在文档中出现一次。
点击下面的数据岛可以展示用来访问每个节点的代码。
根节点是<class>,它的子节点是<student>,这个子节点还有两个子节点<name>和<GPA>。
<XML ID="MyXMLDocument"><class><student studentID="13429"><name>Jane Smith</name><GPA>3.8</GPA></student></class></XML>下面列出了一些简单的属性和方法,可用来访问XML文档的节点。
XMLDocument:返回对XML文档对象模式的引用。
documentElement:返回XML文档的根节点。
childNodes:返回节点的孩子节点目录。
item:通过索引访问目录中的个别节点。
索引值是从0开始的,所以item(0)返回第一个节点。
text:返回节点的内容。
下面是一个带有数据岛的HTML页面。
数据岛被包含在<XML>元素中。
<HTML><HEAD><TITLE>HTML with XML Data Island</TITLE></HEAD><BODY><P>Within this document is an XML data island.</P><XML ID="resortXML"><resorts><resort>Calinda Cabo Baja</resort><resort>Na Balam Resort</resort></resorts></XML></BODY></HTML>你能通过ID属性访问数据岛,“resortXML”成为文档对象的名称。
你能利用这个对象的方法和属性访问它的根节点和孩子节点。
在上面的例子中,根节点是<resorts>,孩子节点是<resort>。
下面的代码访问第二个孩子节点<resort>并返回它的内容“Na Balam Resort”。
resortXML.XMLDocument.documentElement.childNodes.item(1).text如何获得XML DOM树的信息?有以下几种方法和接口来获得DOM的信息。
如果使用脚本语言,DOMDocument对象提供load、loadXML、save方法和xml属性。
对Visual Basic和C或C++编程者来说,IXMLDOMDocument接口提供和DOMDocument 对象同样的成员。
IXMLDOMDocument也可以实现标准的COM接口,如IPersistStreamInit、IPersistMonike r和IStream。
第5课:使用XML名域--------------------------------------------------------------------------------什么是XML名域?XML名域是一组可以用作XML文档的元素或属性名称的名称集。
为了避免元素之间出现相同名称的冲突,名域限定Web中的名称必须是唯一的。
名域由某些URI(Universal Reso urce Identifier)来进行识别,不管是URL(Uniform Resource Locator),还是URN(Uniform Resource Number)都没有关系,它并不管指向的什么内容。
URI使用简单,因为它们在Internet上是全球唯一的。
名域可以显式声明,也可以缺省声明。
在显式声明中可以定义一个简写形式或是一个词头来代替整个名域,可以使用这个词头来引用属于名域的元素。
当节点包含不同名域的元素时,显式声明非常有用。
缺省声明声明一个可以被所有元素访问的名域,而且并不定义词头。
<BOOKS><bk:BOOK xmlns:bk="urn::BookInfo"xmlns:money="urn:Finance:Money"><bk:TITLE>A Suitable Boy</bk:TITLE><bk:PRICE money:currency="US Dollar">22.95</bk:PRICE></bk:BOOK></BOOKS>所有以"bk:"或"money:"开头的元素都可以看成是分别来自于名域"urn::BookInfo"或"urn:Finance:Money"。