一、原理比较
(1)在Data Binding 中,把XML文档链接在HTML PAGE中,然后把 HTML元素绑定到XML元素上来显示该元素。(2)DOM 包含一系列的编程对象,它们代表了不同的XML 元素。通过使用这些对象的属性和方法来显示XML文档。Data Binding适用于结构对称、像数据库一样包含一系列记录和字段的XML 文档。DOM可以显示任何类型的XML文档,并且我们使用它可以操作任何XML元素。因此,DOM应用更广,但数据量大,访问较复杂。
二、实例分析
(1)创建学生成绩表的XML文档 Score.xml,里面包含每个学生的学号、姓名和本学期各门课的成绩。(2)将学生成绩单以表格的方式在网页中显示:方案一:用Data Binding 显示,具体方法省略。方案二:用DOM显示。
1.链接XML文件到HTML中:
2.在HTML中编写JavaScript脚本来操作和显示XML元素:
LANGUAGE="JavaScript"FOR="window"EVENT="ONLOA>
……for (i=0; i
Document.documentElement.childNodes.length;
i++){ HTMLCode +=
"学号:"
+ Document.documentElement.childNodes(i).childNodes(0).text
+ "
"……}
其中,HTMLCode是我们要在网页中显示的内容。
3.定义元素 DIV,指定ID属性为:DisplayDIV:
4.在JavaScript中给3中定义的DisplayDIV对象的innerText属性赋值为HTMLCode:DisplayDIV.innerHTML=HTMLCode;
通过比较可以看出,第二种方案需要编写大量的脚本语言,比较复杂。
三、结合使用
为了达到更好的显示效果,我们可以尝试结合这两种方法,用DataBinding 实现表格显示成绩单的同时,再用DOM达到输入学号查询成绩的效果。这样学生不但可以浏览整个成绩单,还可以方便地查询某一学生的成绩。具体步骤如下:
(1)用方案一显示整个XML文档的内容。
(2)在HTML中插入用于查询的文本框和提交按钮,它们将显示在网页中供学生输入学号查询某个学生的成绩:
输入学号查成绩:
Element name:
查询
(3)编写JavaScript 脚本语言实现ShowElements()函数:
function ShowElements(){……
for(i=0;i
if((Document.documentElement.childNodes(i).childNodes(0).text)==ElementName.value){
Node =Document.documentElement.childNodes(i);
ResultHTML +="姓名:"+Node.childNodes(1).text+"\n"
……}} if (ResultHTML == "")
ResultDiv.innerText = "没有该学生~";
Else{ResultDiv.innerText = ResultHTML;} }
这样,学生点击查询按钮后,会执行该脚本语言,找出学号对应的学生并输出其相关信息。若没有输入学号或XML文档中不存在该学号,则 给出相应提示。
(4)同样,我们还需要定义HTML元素DIV:
完成以上步骤之后,我们就可以看到完整的显示效果了。
通过本文的分析,我们可以看到,DataBinding灵活易用,而DOM应用范围更广,可以显示各种XML文档并实现查询遍历等多种功能。为了达到更好的显示效果,本文结合使用这两种显示技术,既方便地以表格形式显示成绩单又实现了查询的功能。
参考文献
[1]Michael J .Young.《XML核心技术与实例》.北京大学出版社
转载请注明出处学文网 » XML文档的显示与操作