xml 与javascript结合的问题解决方法
我想把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页面的执行结果相结合,一起响应客户端.