240 likes | 438 Views
6.1. 6.2. 6.3. 6.4. 6.5. DSO 简介. 使用 DSO 显示记录. 使用 DSO 显示元素属性. 使用 DSO 显示图像元素. 使用 DSO 与 Script 编程. 第 6 章 使用 DSO 显示 XML 文档. 6.1 DSO 简介. 6.1.1 DSO 基本概念 与 HTML 文档绑定的 XML 数据源对象简称为 DSO ,通常也称为嵌入 HTML 文档中的 XML 数据岛。
E N D
6.1 6.2 6.3 6.4 6.5 DSO简介 使用DSO显示记录 使用DSO显示元素属性 使用DSO显示图像元素 使用DSO与Script编程 第6章 使用DSO显示XML文档
6.1 DSO简介 • 6.1.1 DSO基本概念 • 与HTML文档绑定的XML数据源对象简称为DSO,通常也称为嵌入HTML文档中的XML数据岛。 • 使用DSO,借助HTML网页来显示XML文档内容,既能保持XML文档数据与其显示格式分离的特点,又具备HTML网页的丰富显示格式。
利用DSO技术显示XML文档的机制是,把链接到HTML网页中的一个XML文档或一段XML数据当作一个类似于数据库的记录集(Recordset)对象,然后使用与数据库类似的操作方法来显示和浏览被链接的XML文档的内容。利用DSO技术显示XML文档的机制是,把链接到HTML网页中的一个XML文档或一段XML数据当作一个类似于数据库的记录集(Recordset)对象,然后使用与数据库类似的操作方法来显示和浏览被链接的XML文档的内容。 • 采用DSO技术,首先需要进行数据绑定,即将XML文档数据绑定到HTML文档,然后再将特定的XML元素链接到SPAN或TABLE等标准的HTML元素,这些HTML元素就会自动显示它们所绑定的XML元素内容。
使用DSO技术来显示XML文档数据的两个主要步骤:使用DSO技术来显示XML文档数据的两个主要步骤: • (1)把要显示的XML文档绑定到一个HTML文档中 。这个步骤是通过在HTML文档中添加一个名为XML的特定元素来实现的。 • (2)把XML文档中的元素与HTML文档中特定的元素绑定 。
6.1.2 XML文档绑定到HTML网页 • 被邦定到HTML网页的XML文档数据将成为一个数据源对象,也被称为数据岛。可以使用两种不同的数据岛形式,即:外部数据岛和内部数据岛。
1.内部数据岛 • 内部数据岛是将XML文档的全部内容放在HTML文档中特定的XML元素的起始标记与结束标记之间,并在XML起始标记中给出这个数据岛的ID标识。 • 2.外部数据岛 • 外部数据岛是在名为XML的HTML元素中仅包含所需绑定的XML文档的URL及其ID标识。
6.1.3 XML元素绑定到HTML元素 • 第一种方法是将全部XML元素绑定到HTML文档的TABLE元素 ,使得HTML网页中的表格能够自动显示XML文档的记录集合。此时应在<TABLE>标记中添加DATASRC属性,并将一个自定义的数据源对象名称(数据岛标识符)作为其属性值。
第二种方法是将指定的XML元素绑定到HTML文档的其他特定元素,例如绑定到SPAN、DIV、BUTTON等元素。此时在<TABLE>标记中除了应添加DATASRC属性之外,还应添加DATAFLD属性来指定所绑定的XML文档中的某个字段。采用此种方法一次只能显示一条记录或记录中的一个字段。第二种方法是将指定的XML元素绑定到HTML文档的其他特定元素,例如绑定到SPAN、DIV、BUTTON等元素。此时在<TABLE>标记中除了应添加DATASRC属性之外,还应添加DATAFLD属性来指定所绑定的XML文档中的某个字段。采用此种方法一次只能显示一条记录或记录中的一个字段。 • 并不是所有的HTML元素都可以与XML元素绑定,书中表6-1列出了可绑定的HTML元素及其被绑定的属性。
6.2 使用DSO显示记录 • 6.2.1 使用DSO显示单一记录 • 若将XML文档绑定到HTML网页文档之后,再使用SPAN、DIV、BUTTON 等HTML元素绑定到个别的XML字段,结果这些HTML元素就会自动显示所绑定的XML字段的内容。使用这种方法来显示所绑定的XML文档时,通常一次只能显示一条记录,所以被绑定的XML文档都相当简单。
书中的Customer_single.htm文档就是将简单XML文档记录中的每一个字段分别绑定到若干个SPAN元素,并将该记录的数据逐行显示出来。在IE浏览器中打开这个网页文档后,显示结果如下图所示。书中的Customer_single.htm文档就是将简单XML文档记录中的每一个字段分别绑定到若干个SPAN元素,并将该记录的数据逐行显示出来。在IE浏览器中打开这个网页文档后,显示结果如下图所示。
6.2.2 使用简单表格显示XML记录 • 将XML文档作为数据源对象并绑定到HTML文档的TABLE元素之后,XML文档中的每一个记录的数据都会被分别显示在HTML网页的不同表格行中,而XML记录元素中的每一个字段数据则会被分别显示于不同的表格栏中。
书中的Customer.htm文档包含了一个表格元素TABLE,该元素与一个标识符为dsoCustomer的数据岛进行了绑定。表格元素TABLE中的每一个TD元素都包含了一个SPAN元素,这个SPAN 元素被绑定至XML文档记录的某个字段,以便让该元素能够显示对应字段的内容,从而实现将XML文档的记录数据在表格中逐行显示出来。
6.2.3 使用分页表格显示XML记录 • 要实现被绑定的XML文档中的众多记录用分页的表格来显示,需执行下列步骤: • (1)将被绑定的TABLE 元素的DATAPAGESIZE 属性设定成希望每一页显示的记录个数。 • (2)为被绑定的TABLE 元素的ID 属性指定一个唯一的识别代号。 • (3)要实现在各个表格页之间翻页浏览,可使用脚本程序调用DSO提供的用于控制分页显示的方法。
6.2.4 使用嵌套表格显示XML记录 • 使用嵌套表格来显示较复杂的特定XML文档(其中的每一条XML记录除了固定的一组字段之外,还允许包含零个或多个嵌套的记录)的记录数据,不仅需要将整个表格绑定到XML文档,同时还须将被嵌套的内层表格绑定到XML文档的内层记录元素,如此整个表格才会以嵌套方式显示当前记录内的每一个元素的内容。
6.3 使用DSO显示元素属性 • 6.3.1 显示XML记录的属性 • 对于XML文档中含有属性的记录元素,在使用DSO方式进行处理时,只需将该元素的属性作为记录的一个特定字段来处理即可。因此就可以利用普通的数据绑定技巧来存取元素属性的值。
6.3.2 显示XML字段的属性 • 对于XML文档中某个元素的字段中所含有的属性,在使用DSO方式进行处理时,只需将该属性作为这个字段的特定子元素来处理即可。DSO 会把含有属性的字段元素以嵌套的形式,而不是以字段的形式储存。因此,XML记录集将会变成一个阶层式的记录集,所以必须使用嵌套表格来显示所包含的嵌套数据。
6.4 使用DSO显示图像元素 • 使用DSO技术,还可以把XML文档元素绑定到除TABLE和SPAN之外的其他HTML元素,以实现特定XML数据的显示功能。这些HTML元素包括DIV、BUTTON、IMG等。 • 如果将XML文档的图像元素绑定到HTML的IMG元素,即可方便地实现在网页中显示出对应的图像。
6.5 使用DSO与Script编程 • 将XML文档与HTML文档绑定之后,在内存中生成的记录集合是一个属于DSO的recordset对象。该对象提供了一组符合Microsoft 的ADO标准数据访问技术的方法和属性,因而可以通过script编程调用这些方法和属性来对记录集进行访问和处理。 • 可以根据需要调用recordset对象的任何一个方法来撰写有关的script程序。调用这些方法最简单的方式就是在HTML文档中通过将某个方法直接指定到BUTTON元素的ONCLICK属性中。
6.5.1 浏览DSO记录 • 书中的范例文档Customer_Browse.htm,是用来一次显示一条DSO中数据记录的HTML网页文档。该网页提供了4个按钮及相应的script 代码,让浏览者随意地浏览第一个、前一个、下一个与最后一个数据记录。在IE浏览器中打开这个网页文档后显示的结果如下图所示。
6.5.2 编辑与添加DSO记录 • 书中的HTML文档Customer_edit.htm,不仅可用来一次显示一条DSO中的数据记录,还可以在网页的文本框中对显示的数据进行编辑修改。此外,该网页不仅提供了4个让浏览者能够随意翻页浏览和修改数据的按钮,而且还使用了recordset 对象的addNew() 方法设置了一个“添加记录”的按钮。在IE浏览器中打开这个网页文档后的显示结果如下图所示。
6.5.3 查询DSO记录 • 书中的HTML文档Customer_Find.htm,首先与XML文档Customer_Big.xml绑定,然后利用recordset对象的若干方法与属性,通过较复杂的JavaScript脚本程序代码,实现了在与之绑定的文档中搜索指定客户记录的任务。在IE浏览器中打开这个网页文档后的显示结果如下图所示。