当前位置: 首页 > 图文教程 > 网络编程 > Javascript > xml 与javascript结合的问题解决方法

Javascript
JavaScript 继承详解(四)
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
js 实现无缝滚动 兼容IE和FF
js 对象是否存在判断
优化 JavaScript 代码的方法小结
表单元素事件 (Form Element Events)
js 动态创建 html元素
prototype 学习笔记整理
JavaScript 创建对象
javascript 全角转换实现代码
DOM 基本方法
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
javascript 动态创建 Option选项
javascript 7行代码画出一个围棋棋盘
比较简单的异步加载JS文件的代码
javascript 层隐藏和显示的代码
自定义滚动条3.0
javascript iframe内的函数调用实现方法
Prototype Class对象学习
Prototype RegExp对象 学习

Javascript 中的 xml 与javascript结合的问题解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 302 ::
收藏到网摘: n/a

我想把html里面的title 动态绑定到一个xml
没成功 help me ,pls
如下
<html>
<XML ID="xmldso">
<?xml version="1.0"?>
<booklist>
<book>
<title>Straight Talk About Computersyyyyyyyyyy</title>
<isbn>72-80088-005</isbn>
</book>
<book>
<title>Straight Talk About Computersyyyyyyyyyy</title>
<isbn>72-80088-005</isbn>
</book>
</booklist>
</XML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<LABEL ID=title DATASRC=#xmldso DATAFLD="title"></LABEL>
<LABEL ID=title1 value="dff"></LABEL>
<SCRIPT LANGUAGE="JavaScript" for="xmldso">
<!--
//var df=xmldso.booklist.book("title");
//alert(df);
//alert(title1.value);
document.title="dd";
--here ,I want to document.title=df;
//-->
</SCRIPT>
<TABLE BORDER=1 DATASRC="#xmldso">
<THEAD>
<TR><TH>Title</TH> <TH>ISBN</TH></TR>
</THEAD>
<TBODY>
<TR><TD><DIV DATAFLD="title"></DIV></TD>
<TD><DIV DATAFLD="isbn"> </DIV></TD>
</TR>
</TBODY>
</TABLE>
<HR>
<XML ID="xmldso1" SRC="myXML.xml"> </XML>
<TABLE BORDER=1 DATASRC="#xmldso1">
<THEAD>
<TR><TH>书名</TH> <TH>出版号</TH></TR>
</THEAD>
<TBODY>
<TR><TD><DIV DATAFLD="title"></DIV></TD>
<TD><DIV DATAFLD="isbn"> </DIV></TD>
</TR>
</TBODY>
</TABLE>
</body>
</html>
myXML.xml 如下,其实这个没用,只不过为了完整性。
复制代码 代码如下:

<?xml version="1.0" encoding="GBK"?>
<booklist>
<book>
<title>计算机技术</title>
<isbn>72-80088-005</isbn>
</book>
<book>
<title>电工技术</title>
<isbn>72-80081-082</isbn>
</book>
<book>
<title>计算机软件技术</title>
<isbn>72-80088-005</isbn>
</book>
<book>
<title>计算机修理技术</title>
<isbn>72-80081-082</isbn>
</book>
</booklist>

xmldso 是一个 XML DOM 对象,访问的时候要使用 DOM API。这样写:
复制代码 代码如下:

var books = xmldso.selectSingleNode("booklist").selectNodes("book");
for(var i=0; i<books.length; i++) {
alert(books[i].selectSingleNode("title").text);
}
关于xmldso,我也想说几句,曾经做过一个项目,前期是台湾几个牛人做的,采用MVC,下面是我对项目的总结:
XXX Framework:
XXX是使用的MVC模式,数据、控制和视图相互分离,JSP负责视图,Servlet负责控制,DataModule负责数据的存取
Model部分:
优点:可以用event listener的方式写business logic,可视化管理,特别支持master-detail(主子表结构),look-up(查找,使之功能相当于数据库当中的视图),format(格式化)等.
缺点:公司员工必须对DataModule熟悉,DataModule不是主流技术,会使用的人并不多——尤其是Java程序员。
IDE为Datamodule产生了大量的代码,但同时也减少了大量的sql语句.系统在运行过程中往往需要同时对多个表格进行操作,为了保证数据的完整性及复杂操作的可靠执行,DataModule自动进行了事务处理,减少了程序员的开发任务.
Control部分:
优点:
通过pd.xml定义系统对外行为,比如增加,修改,删除,查询,包括设定权限(目前没有做,但设计已经有体现)等.
将使用者的操作转变为datamodule操作。
选择适当的view进行显示.
View部分:
优点:
1):前端功能(onclick,onfocus,onblue,onchange),使用xslt,为jsp减少了大量的代码.
2):显示使用XML-DSO,IE自动进行data binding.
缺点:
1):必需使用IE6.用其它的系统会运行会不正常.
2):由于使用XML-DSO,所以对程序员要求很高.
3):由于有很多检测,计算,都在客户端进行,造成了所谓的“胖客户端”,结果就是:功能集中,不利于更新和维护.
流程
1):客户端发送request请求到服务器端.
2):服务器端通过control Servlet接收请求,通过解析request,分配给合适的Business Object
3)controller将一些必要的请求信息,传给DataModule
4):Business Object更新(增加,修改,删除等)Model,Model同步DataBase
5):controller执行Jsp页面,执行结果暂存起来.
6):Model信息被打包成xml 资料
1):客户端发送request请求到服务器端.
2):服务器端通过control Servlet接收请求,通过解析request,分配给合适的Business Object
3)controller将一些必要的请求信息,传给DataModule
4):Business Object更新(增加,修改,删除等)Model,Model同步DataBase
5):controller执行Jsp页面,执行结果暂存起来.
6):Model信息被打包成xml 资料
7):将xml资料与Jsp页面的执行结果相结合,一起响应客户端.