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

Javascript
jQuery中isFunction方法的BUG修复
将函数的实际参数转换成数组的方法
javascript 删除数组中重复项(uniq)
js 巧妙去除数组中的重复项
javascript下一种表单元素获取方法存在的问题
javascript 三种数组复制方法的性能对比
js 多层叠的TAB选项卡
javascript 自动标记来自搜索结果页的关键字
起点页面传值js,有空研究学习下
javascript 的Document属性和方法集合
JavaScript 使用简略语法创建对象的代码
使用JQuery进行跨域请求
jquery 经典动画菜单效果代码
jquery 常用操作方法
js提示信息jtip封装代码,可以是图片或文章
javascript面向对象的方式实现的弹出层效果代码
jquery中的sortable排序之后的保存状态的解决方法
js或css实现滚动广告的几种方案
使用JavaScript库还是自己写代码?
js 右键菜单,支持不同对象不同菜单(兼容IE、Firefox)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 54 ::
收藏到网摘: 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页面的执行结果相结合,一起响应客户端.