Web设计中如何使用XML数据源对象(1)
2008-05-01 05:10
441 查看
XML数据源对象是一个ActiveX控件,允许你在XML文件和HTML页面之间操作数据。本文将向你展示如何从各种XML数据源中提取数据,以及如何使用JavaScript显示这些数据。 XML数据源对象DSO是一个微软ActiveX控件,构建在微软IE4以后的版本上。这个对象允许你把一个外部的XML文件或者嵌入HTML文件中的内容提取到HTML页面中。
你可以在一个Web页面中使用XML - DSO从一个外部XML文件中选取内容,从嵌入Web页面的XML中提取XML数据,然后使用JavaScript操作这些数据。然而,并不建议在Internet中使用这个对象,因为DSO只能工作在MSIE 4以上的浏览器中,因此这可能会带来一些兼容性问题。 所以,在企业内部网使用XML-DSO是很合适的。
开始
为了初始化XML - DSO对象,我们使用<OBJECT>标记。 用于XML-DSO的CLASSID是:
CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39
这ID唯一标识XML-DSO。使用下面的代码在一个Web页面中初始化这个控件:
<OBJECT ID="SomeID" CLASSID="CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39"></OBJECT>
虽然大部分对象需要许多参数与之相关联,但是XML-DSO不需要任何参数。
使用一个XML数据岛析取数据
首先,通过使用<XML>标记包含一个XML数据岛。其次,给它分配一个ID,XMLdb --以备以后使用。 数据实际上是使用HTML标记:<ALT>,<SPAN>,等等提取的。代码列表1中的代码使用了<SPAN>标记。datasrc属性指定了你想从中提取数据的那个数据岛。datafld属性指定了你想要的数据的XML标记。所以,第一个<SPAN>提取名称,而第二<SPAN>提取性别。
代码列表1:
<!-- example1.htm -->
<html>
<head>
<title>XML DSO-example1.htm</title>
</head>
<body bgcolor="#FFFFFF">
<XML id="XMLdb">
<db>
<member>
<name>Premshree Pillai<name>
<sex>male</sex>
</member>
<member>
<name>Vinod</name>
<sex>male</sex>
</member>
</db>
</XML>
<span datasrc="#XMLdb" datafld="name"<</span>
<br>
<span datasrc="#XMLdb" datafld="sex"></span>
</body>
</html>
注意这段代码没有初始化一个XML-DSO对象。这是因为XML数据岛的使用中已经隐式地创建了一个。输出应为:
Premshree Pillai
male
注意在XML数据岛中有两个<name>和<sex>标记。使用这个方法,你只能提取这些标记中的第一个实例。代码列表2中的代码使用标记提取所有的实例:
输出将是:
Name SexPremshree Pillai maleVinod male
在代码列表2中,标记使用标记内的标记提取数据。表格将自动重复<member>(<name>和<sex>的母标记)的每个实例。
代码列表2:
<!-- example2.htm -->
<html>
<head>
<title>XML DSO-example2.htm</title>
</head>
<body bgcolor="#FFFFFF">
<XML id="XMLdb">
<db>
<member>
<name>Premshree Pillai<name>
<sex>male</sex>
</member>
<member>
<name>Vinod</name>
<sex>male</sex>
</member>
</db>
</XML>
<thead>
<th>Name</th>
<th>Sex</th>
</thead>
</body>
</html>
你可以在一个Web页面中使用XML - DSO从一个外部XML文件中选取内容,从嵌入Web页面的XML中提取XML数据,然后使用JavaScript操作这些数据。然而,并不建议在Internet中使用这个对象,因为DSO只能工作在MSIE 4以上的浏览器中,因此这可能会带来一些兼容性问题。 所以,在企业内部网使用XML-DSO是很合适的。
开始
为了初始化XML - DSO对象,我们使用<OBJECT>标记。 用于XML-DSO的CLASSID是:
CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39
这ID唯一标识XML-DSO。使用下面的代码在一个Web页面中初始化这个控件:
<OBJECT ID="SomeID" CLASSID="CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39"></OBJECT>
虽然大部分对象需要许多参数与之相关联,但是XML-DSO不需要任何参数。
使用一个XML数据岛析取数据
首先,通过使用<XML>标记包含一个XML数据岛。其次,给它分配一个ID,XMLdb --以备以后使用。 数据实际上是使用HTML标记:<ALT>,<SPAN>,等等提取的。代码列表1中的代码使用了<SPAN>标记。datasrc属性指定了你想从中提取数据的那个数据岛。datafld属性指定了你想要的数据的XML标记。所以,第一个<SPAN>提取名称,而第二<SPAN>提取性别。
代码列表1:
<!-- example1.htm -->
<html>
<head>
<title>XML DSO-example1.htm</title>
</head>
<body bgcolor="#FFFFFF">
<XML id="XMLdb">
<db>
<member>
<name>Premshree Pillai<name>
<sex>male</sex>
</member>
<member>
<name>Vinod</name>
<sex>male</sex>
</member>
</db>
</XML>
<span datasrc="#XMLdb" datafld="name"<</span>
<br>
<span datasrc="#XMLdb" datafld="sex"></span>
</body>
</html>
注意这段代码没有初始化一个XML-DSO对象。这是因为XML数据岛的使用中已经隐式地创建了一个。输出应为:
Premshree Pillai
male
注意在XML数据岛中有两个<name>和<sex>标记。使用这个方法,你只能提取这些标记中的第一个实例。代码列表2中的代码使用标记提取所有的实例:
输出将是:
Name SexPremshree Pillai maleVinod male
在代码列表2中,标记使用标记内的标记提取数据。表格将自动重复<member>(<name>和<sex>的母标记)的每个实例。
代码列表2:
<!-- example2.htm -->
<html>
<head>
<title>XML DSO-example2.htm</title>
</head>
<body bgcolor="#FFFFFF">
<XML id="XMLdb">
<db>
<member>
<name>Premshree Pillai<name>
<sex>male</sex>
</member>
<member>
<name>Vinod</name>
<sex>male</sex>
</member>
</db>
</XML>
<thead>
<th>Name</th>
<th>Sex</th>
</thead>
</body>
</html>
相关文章推荐
- Web设计中如何使用XML数据源对象(2)
- Web设计中如何使用XML数据源对象
- Web设计中如何使用XML数据源对象
- Web设计中如何使用XML数据源对象(1)
- Web设计中如何使用XML数据源对象
- 用javascript操作xml-->Web设计中如何使用XML数据源对象(转载)
- Web设计中如何使用XML数据源对象
- Web设计中如何使用XML数据源对象(2)
- Web设计中如何使用XML数据
- Web设计中如何使用XML数据
- Web设计中如何使用XML数据
- 如何使用XmlHttpRequest对象实现ajax?
- 项目好的设计思路_使用XML_数据源
- ABAP实例:如何设计和使用自定义的权限对象
- 如何在Tomcat中配置数据源?如何使用其数据源对象?
- 如何设计和使用自定义的权限对象(自定义权限检查函数)
- 扫描识别工具Dynamic Web TWAIN使用教程:如何自定义Web TWAIN对象
- 【JavaWeb】XML文件_使用SAX解析将xml文件中的联系人封装为对象
- C语言构建WEB管理系统(六):使用XMLHttpRequest对象和服务端交换数据
- (已测试)在本地处理模式下将业务对象数据源与 ReportViewer Web 服务器控件一起使用