??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩一区二区三区中文字幕,国产一区二区不卡在线,亚洲一区二区在http://www2.blogjava.net/machilansing/category/14203.htmlLansing--Coding 不是? zh-cnWed, 28 Feb 2007 20:19:19 GMTWed, 28 Feb 2007 20:19:19 GMT60转:Web设计中如何用XML数据源对?/title><link>http://www.aygfsteel.com/machilansing/archive/2006/08/16/WEB_AND_XML.html</link><dc:creator>Lansing</dc:creator><author>Lansing</author><pubDate>Wed, 16 Aug 2006 07:23:00 GMT</pubDate><guid>http://www.aygfsteel.com/machilansing/archive/2006/08/16/WEB_AND_XML.html</guid><wfw:comment>http://www.aygfsteel.com/machilansing/comments/63910.html</wfw:comment><comments>http://www.aygfsteel.com/machilansing/archive/2006/08/16/WEB_AND_XML.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/machilansing/comments/commentRss/63910.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/machilansing/services/trackbacks/63910.html</trackback:ping><description><![CDATA[ <p> <strong>XML数据源对象是一个ActiveX控gQ允怽在XML文g和HTML面之间操作数据。本文将向你展示如何从各UXML数据源中提取数据Q以及如何用JavaScript昄q些数据。?</strong> </p> <p>  XML数据源对象DSO是一个微软ActiveX控gQ构建在微YIE4以后的版本上。这个对象允怽把一个外部的XML文g或者嵌入HTML文g中的内容提取到HTML面中。?/p> <p>  你可以在一个Web面中用XML - DSO从一个外部XML文g中选取内容Q从嵌入Web面的XML中提取XML数据Q然后用JavaScript操作q些数据。然而,q不在Internet中用这个对象,因ؓDSO只能工作在MSIE 4以上的浏览器中,因此q可能会带来一些兼Ҏ问题。 所以,在企业内部网使用XML-DSO是很合适的。?/p> <p> <font size="4">  开?/font> </p> <p>  Z初始化XML - DSO对象Q我们用<OBJECTQ标记。 用于XML-DSO的CLASSID是:</p> <p>    CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39</p> <p>  qID唯一标识XML-DSO。用下面的代码在一个Web面中初始化q个控gQ?/p> <p>  QOBJECT ID="SomeID" CLASSID="CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39"Q</OBJECTQ?/p> <p>  虽然大部分对象需要许多参C之相兌Q但是XML-DSO不需要Q何参数。?/p> <p> <font size="4">  使用一个XML数据岛析取数?/font> </p> <p>  首先Q通过使用QXMLQ标记包含一个XML数据岛。其ơ,l它分配一个IDQxmldb --以备以后使用。 数据实际上是用HTML标记Q<ALTQ,QSPANQ,QDIVQ等{提取的。代码列?中的代码使用了<SPANQ标记。datasrc属性指定了你想从中提取数据的那个数据岛。datafld属性指定了你想要的数据的XML标记。所以,W一个<SPANQ提取名Uͼ而第二<SPANQ提取性别。?/p> <p>  代码列表1Q?/p> <p>Q?-- example1.htm --Q?br />QhtmlQ?br />QheadQ?br />QtitleQXML DSO-example1.htmQ?titleQ?br />Q?headQ?br />Qbody bgcolor="#FFFFFF"Q?br />Qxml id="xmldb"Q?br />QdbQ?br />QmemberQ?br />QnameQPremshree PillaiQnameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />QmemberQ?br />QnameQVinodQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />Q?dbQ?br />Q?xmlQ?/p> <p>Qspan datasrc="#xmldb" datafld="name"Q</spanQ?br />QbrQ?br />Qspan datasrc="#xmldb" datafld="sex"Q</spanQ?/p> <p>Q?bodyQ?br />Q?htmlQ ?/p> <p>  注意q段代码没有初始化一个XML-DSO对象。这是因为XML数据岛的使用中已l隐式地创徏了一个。输出应为: <br />  <br />  Premshree Pillai<br />  male</p> <p>  注意在XML数据岛中有两个<nameQ和QsexQ标记。用这个方法,你只能提取这些标C的第一个实例。代码列?中的代码使用QTABLEQ标记提取所有的实例Q?/p> <p>  输出是: <br />    <br />     Name     Sex <br />     -----------------------------------<br />     Premshree Pillai  male <br />     Vinod      male </p> <p>  在代码列?中,QTABLEQ标C用<TDQ标记内的<DIVQ标记提取数据。表格将自动重复QmemberQ(QnameQ和QsexQ的母标讎ͼ的每个实例。?/p> <p>  代码列表2Q?/p> <p> <br />Q?-- example2.htm --Q?br />QhtmlQ?br />QheadQ?br />QtitleQXML DSO-example2.htmQ?titleQ?br />Q?headQ?br />Qbody bgcolor="#FFFFFF"Q?/p> <p>Qxml id="xmldb"Q?br />QdbQ?br />QmemberQ?br />QnameQPremshree PillaiQnameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />QmemberQ?br />QnameQVinodQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />Q?dbQ?br />Q?xmlQ?/p> <p>Qtable datasrc="#xmldb" border="1"Q?br />QtheadQ?br />QthQNameQ?thQ?br />QthQSexQ?thQ?br />Q?theadQ?br />QtrQ?br />QtdQ<div datafld="name"Q</divQ</tdQ?br />QtdQ<div datafld="sex"Q</divQ</tdQ?br />Q?trQ?br />Q?tableQ?br />Q?bodyQ?br />Q?htmlQ?/p> <p> <font size="4">使用外部XML文g提取数据</font> </p> <p>  Z使用XML-DSO加蝲一个外部XML文gQ你必须昑ּ的包含这个对象ƈ且用一些JavaScript。?/p> <p>  首先创徏一个XML-DSO对象Q用ID myXML。添加宽度和高度属性到QOBJECTQ标CQ然后设|它们的gؓ0。这保证XML-DSO对象不会占据你的Web面的Q何空间。?/p> <p>  其次Q用datasrc创徏一个象myXML一L?-cM于代码列?中一栗代码用<DIVQ标讎ͼ在TD标记之)提取数据Q用datafld作ؓW一栏的信息Qƈ且用URL作ؓW二栏。添加<SCRIPTQ标讎ͼ因ؓ在这里,外部的XML使用Java脚本昑ּ地声明你惌加蝲的XML文g。?/p> <p>  讄变量xmlDso为myXML.XMLDocument。myXML引用你已l创建的对象。接下来Q用XML-DSO的load()Ҏ加蝲example3.xml。文件example3.xmlq接到对象myXML上。?/p> <p> <br />Q?-- example3.xml --Q?br />Q?xml version="1.0" ?Q?br />QtickerQ?br />QitemQ?br />QmessageQJavaScript Ticker using XML DSOQ?messageQ?br />QURLQ?a class="contentlink" target="_blank"><font color="#4455aa">http://someURL.com</font></a>Q?URLQ?br />Q?itemQ?br />Q?tickerQ?/p> <p>  现在Q研I一下下面的HTML面: </p> <p> <br />Q?-- example3.htm --Q?br />QhtmlQ?br />QheadQ?br />QtitleQXML DSO-example3.htmQ?titleQ?br />Qscript language="JavaScript"Q?br />function load() {<br />var xmlDso=myXML.XMLDocument;<br />xmlDso.load("example3.xml");<br />}<br />Q?scriptQ?br />Q?headQ?br />Qbody bgcolor="#FFFFFF" onLoad="load()"Q?/p> <p>Qobject id="myXML" CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" <br />width="0" height="0"Q</objectQ?/p> <p>Qtable datasrc="#myXML" border="1"Q?br />QtheadQ?br />QthQMessageQ?thQ?br />QthQURLQ?thQ?br />Q?theadQ?br />QtrQ?br />QtdQ<div datafld="message"Q</divQ</tdQ?br />QtdQ<div datafld="URL"Q</divQ</tdQ?br />Q?trQ?br />Q?tableQ?/p> <p>Q?bodyQ?br />Q?htmlQ?/p> <p>  输出应是: </p> <p>   Message URL<br />   JavaScript Ticker using XML DSO <a class="contentlink" target="_blank"><font color="#4455aa">http://someURL.com</font></a></p> <p>  上面的脚本非常特D化。下面给Z个更一般的脚本Q?/p> <p> <br />Qscript language="JavaScript"Q?br />var xmlDso;<br />function load(xmlFile, objName) {<br />eval('xmlDso='+objName+'.XMLDocument');<br />xmlDso.load(xmlFile);<br />}<br />Q?scriptQ?br />Now, to load any XML file use: <br />load("SomeXMLFile.xml","anyXmlDsoObject");</p> <p> <font size="4">使用XML-DSO和JavaScript</font> </p> <p>  假设你有一个包含姓名、电子邮件地址和电话号码的XML文g。你想用它构徏一个应用程序,昄每个人的档案--一ơ显CZ个。用户将使用"Next"?Previous"按钮览每个人的数据。Javascript可以帮助你实现这个目的。?/p> <p>  下面的代码用记录集Ҏ把文件中所有的数据保存C个变量memberSet中。moveNext()Ҏ指向下一个数据项Q下一行)。脚本然后蝲入XML文gexample4.xmlQ把记录保存到变量memberSet中。第一个记录将被显C,但是memberSet.moveNext()指向文g中相对于前一个指定数据的下一个记录。?/p> <p> <br />Q?-- example4.xml --Q?br />Q?xml version="1.0" ?Q?br />QmyDBQ?br />QmemberQ?br />QnameQPremshree PillaiQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />QmemberQ?br />QnameQVinodQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />QmemberQ?br />QnameQSanthoshQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />Q?myDBQ?/p> <p>  q里是相应的HTML文gQ?/p> <p> <br />Q?-- example4.htm --Q?br />QhtmlQ?br />QheadQ?br />QtitleQXML DSO-example4.htmQ?titleQ?br />Qscript language="JavaScript"Q?br />function load() {<br />var xmlDso=myDB.XMLDocument;<br />xmlDso.load("example4.xml");</p> <p>/* Get the complete record set */<br />var memberSet=myDB.recordset;</p> <p>/* Go to next data */<br />memberSet.moveNext();<br />}<br />Q?scriptQ?br />Q?headQ?br />Qbody bgcolor="#FFFFFF" onLoad="load()"Q?/p> <p>Qobject id="myDB" CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" <br />width="0" height="0"Q</objectQ?/p> <p>Qspan datasrc="#myDB" datafld="name"Q</spanQ?/p> <p>Q?bodyQ?br />Q?htmlQ?/p> <p>  输出应是: </p> <p>   Vinod</p> <p>  下面l出更多使用JavaScript操作XML-DSO的方法: </p> <p>   · movePrevious(): 指向前一个数据项。?/p> <p>   · moveFirst(): 指向W一个数据项。?/p> <p>   · moveLast(): 指向最后一个数据项。?/p> <p>   · EOF: q个属性用来检我们是否已l到达数据记录的底部?br /><font size="4">使用XML-DSO和JavaScript</font></p> <p>  假设你有一个包含姓名、电子邮件地址和电话号码的XML文g。你想用它构徏一个应用程序,昄每个人的档案--一ơ显CZ个。用户将使用"Next"?Previous"按钮览每个人的数据。Javascript可以帮助你实现这个目的。?/p> <p>  下面的代码用记录集Ҏ把文件中所有的数据保存C个变量memberSet中。moveNext()Ҏ指向下一个数据项Q下一行)。脚本然后蝲入XML文gexample4.xmlQ把记录保存到变量memberSet中。第一个记录将被显C,但是memberSet.moveNext()指向文g中相对于前一个指定数据的下一个记录。?/p> <p> <br />Q?-- example4.xml --Q?br />Q?xml version="1.0" ?Q?br />QmyDBQ?br />QmemberQ?br />QnameQPremshree PillaiQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />QmemberQ?br />QnameQVinodQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />QmemberQ?br />QnameQSanthoshQ?nameQ?br />QsexQmaleQ?sexQ?br />Q?memberQ?br />Q?myDBQ ?/p> <p>  q里是相应的HTML文gQ?/p> <p> <br />Q?-- example4.htm --Q?br />QhtmlQ?br />QheadQ?br />QtitleQXML DSO-example4.htmQ?titleQ?br />Qscript language="JavaScript"Q?br />function load() {<br />var xmlDso=myDB.XMLDocument;<br />xmlDso.load("example4.xml");</p> <p>/* Get the complete record set */<br />var memberSet=myDB.recordset;</p> <p>/* Go to next data */<br />memberSet.moveNext();<br />}<br />Q?scriptQ?br />Q?headQ?br />Qbody bgcolor="#FFFFFF" onLoad="load()"Q?/p> <p>Qobject id="myDB" CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" <br />width="0" height="0"Q</objectQ?/p> <p>Qspan datasrc="#myDB" datafld="name"Q</spanQ?/p> <p>Q?bodyQ?br />Q?htmlQ?/p> <p>  输出应是: </p> <p>   Vinod</p> <p>  下面l出更多使用JavaScript操作XML-DSO的方法: </p> <p>   · movePrevious(): 指向前一个数据项。?/p> <p>   · moveFirst(): 指向W一个数据项。?/p> <p>   · moveLast(): 指向最后一个数据项。?/p> <p>   · EOF: q个属性用来检我们是否已l到达数据记录的底部。?/p> <p>  initTicker()首先查是否有IE 4+。如果浏览器是IE4+Q这个XML文g被作Z个参数被传递ƈ载入。如果定时器p|了,那么调用xmlDsoTicker()函数。xmlDsoTicker()除了xmlFile参数以外Q和initTicker()有相同的参数Q因为XML文g已经被蝲入。xmlDsoTicker()查变量counterQ初始gؓmaxMsgsQ是否小于maxMsgs-1。如果是QmoveNext()Ҏ指向tickerSet中下一个数据项。?/p> <p>  HTML面的BODY包含下面的代码: </p> <p> <br />Qa href="" datasrc="#ticker" datafld="URL" class="tickerStyle"Q?br />Qspan datasrc="#ticker" datafld="message"Q</spanQ?br />Q?aQ?/p> <img src ="http://www.aygfsteel.com/machilansing/aggbug/63910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/machilansing/" target="_blank">Lansing</a> 2006-08-16 15:23 <a href="http://www.aygfsteel.com/machilansing/archive/2006/08/16/WEB_AND_XML.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用XML的五U场?/title><link>http://www.aygfsteel.com/machilansing/archive/2006/08/16/XML.html</link><dc:creator>Lansing</dc:creator><author>Lansing</author><pubDate>Wed, 16 Aug 2006 07:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/machilansing/archive/2006/08/16/XML.html</guid><wfw:comment>http://www.aygfsteel.com/machilansing/comments/63909.html</wfw:comment><comments>http://www.aygfsteel.com/machilansing/archive/2006/08/16/XML.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/machilansing/comments/commentRss/63909.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/machilansing/services/trackbacks/63909.html</trackback:ping><description><![CDATA[列出XML在应用中的五个最令h喜爱的用法。尽这些ƈ不能包含XML的所有潜在应用,臛_是些最重要的领域。?br />1、数据交换?br />用XML在应用程序和公司之间作数据交换已不是什么秘密了Q毫无疑问应被列为第一位。那么ؓ什么XML在这个领域里的地位这么重要呢Q原因就是XML使用元素和属性来描述数据。在数据传送过E中QXML始终保留了诸如父/子关p这L数据l构。几个应用程序可以共享和解析同一个XML文gQ不必用传l的字符串解析或拆解q程。相反,普通文件不Ҏ个数据段做描q?除了在头文g?Q也不保留数据关pȝ构。 用XML做数据交换可以应用E序更具有弹性,因ؓ可以用位|?与普通文件一?或用元素?从数据库)来存取XML数据。?br />2、Web服务 <br />Web服务是最令hȀ动的革命之一Q它让用不同系l和不同~程语言的h们能够相互交和分n数据。其基础在于Web服务器用XML在系l之间交换数据。交换数据通常用XML标记Q能使协议取得规范一_比如在简单对象处理协?Simple Object Access Protocol, SOAP)q_上。SOAP可以在用不同~程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个Java对象q行通讯。这U通讯甚至可以发生在运行于不同操作pȝ上的对象之间。DCOM, CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传递消息。?br />3、内容管理?br />XML只用元素和属性来描述数据Q而不提供数据的显C方法。这PXML提供了一个优U的方法来标记独立于^台和语言的内宏V用象XSLTq样的语a能够L地将XML文g转换成各U格式文Ӟ比如HTML, WML, PDF, flat file, EDI, {等。XMLh的能够运行于不同pȝq_之间和{换成不同格式目标文g的能力得它成ؓ内容理应用pȝ中的优秀选择。 ?br />4、Web集成 <br />现在有越来越多的讑֤也支持XML了。得Web开发商可以在个人电子助理和览器之间用XML来传递数据。ؓ什么将XML文本直接送进q样的设备去呢?q样作的目的是让用户更多地自己掌握数据显C方式,更能体验到实늚快乐。常规的客户/服务(C/S)方式Z获得数据排序或更换显C格式,必须向服务器发出甌Q而XML则可以直接处理数据,不必l过向服务器甌查询-q回l果q样的双向“旅E”,同时在设备也不需要配制数据库。甚臌可以对设备上的XML文gq行修改q将l果q回l服务器。想像一下,一台具有互联网功能q支持XML的电冰箱会l市场带来多么大的冲d。你从此不必早vd牛奶了! <br />5、配制?br />许多应用都将配制数据存储在各U文仉Q比?INI文g。虽然这L文g格式已经使用多年q一直很好用Q但是XMLq是以更ZU的方式ؓ应用E序标记配制数据。用NET里的c,如XmlDocument和XmlTextReaderQ将配制数据标记为XML格式Q能使其更具可读性,q能方便地集成到应用pȝ中去。用XML配制文g的应用程序能够方便地处理所需数据Q不用象其他应用那样要经q重新编译才能修改和l护应用pȝ。如前所qͼq里提到的五U用XML的途径不包括全部场合?img src ="http://www.aygfsteel.com/machilansing/aggbug/63909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/machilansing/" target="_blank">Lansing</a> 2006-08-16 15:19 <a href="http://www.aygfsteel.com/machilansing/archive/2006/08/16/XML.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">пǰ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">²</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">Ӫ</a>| <a href="http://" target="_blank">˶</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">쳤</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Т</a>| <a href="http://" target="_blank">Ž</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">᯹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">޶</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">п</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>