-- 作者:springfeng
-- 发布时间:12/13/2005 2:16:00 PM
-- [求助]如何确定我读取的xml数据是哪一条呢
我是新手,边抄边写边学,还是遇到了难题,希望高手指点 原文如下 <% Public Function createDOMDocument() Dim objXML On Error Resume Next Set objXML = CreateObject("Msxml2.DOMDocument") objXML.async = False If Err.number = 0 Then Set createDOMDocument = objXML Else Set createDOMDocument = Nothing End If End Function strXmlDataT1 = "<DATA><LIST></LIST></DATA>" set objXML = createDOMDocument() objXML.loadXML(strXmlDataT1) set objList = objXML.selectSingleNode("//LIST") set Con =server.CreateObject ("adodb.connection") Con.cursorlocation = 3 Con.Open("Driver={sql server};server=***;database=***;uid=sa;pwd=***") sqlCustOrderInfo = "SELECT * FROM ***" Set rslist = Server.CreateObject("ADODB.Recordset") rslist.Open sqlCustOrderInfo,Con if rslist.recordcount > 0 then set objList = objXML.selectSingleNode("//LIST") while not rslist.eof sus_name = trim(rslist("sus_name")) '代码 sus_em_name = trim(rslist("sus_em_name")) '中文代码 realname = "" '真实姓名 set xmlItem = createDOMDocument() strItem= "<ITEM></ITEM>" xmlItem.loadXML(strItem) set objRoot = xmlItem.documentElement set objItem = xmlItem.createElement("ITEM") objRoot.appendChild(objItem) objItem.setAttribute "sus_name",sus_name objItem.setAttribute "sus_em_name",sus_em_name objItem.setAttribute "realname",realname objList.appendChild(objItem) rslist.moveNext wend end if Con.close set Con = nothing 'Response.ContentType = "text/xml" 'Response.CharSet="gb2312" 'response.write objXML.xml 'test strXmlDataT1 = objXML.xml %> <html> <META content=zh-cn http-equiv=Content-Language> <META content="text/html; charset=gb2312" http-equiv=Content-Type> <head> <title>test</title> <style type="text/css"> <xml id="xmlDataT1"> <%=strXmlDataT1%> </xml> <xml id="xslDataT1"> <?xml version="1.0" encoding="GB2312" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:v="urn:schemas-microsoft-com:vml" version="1.0"> <xsl:output method="html" indent="yes"/> <!--匹配根節點--> <xsl:template match="LIST"> <xsl:if test="count(./ITEM)>0"> <table width="600" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#999999" class="thin"> <tr class="Title" height="30"> <td width="2"></td> <td >代码sus_name</td> <td >中文代码sus_em_name</td> <td >真实姓名realname</td> </tr> <xsl:apply-templates select="ITEM"/> </table> </xsl:if> </xsl:template> <!--匹配ITEM節點--> <xsl:template match="ITEM"> <tr bgcolor="white" height = "20" > <td align="center"><input type="radio" name="T1isChecked" onclick="ShowSelect()"/></td> <td class=""><xsl:value-of select="@sus_name"/> </td> <td class=""><xsl:value-of select="@sus_em_name"/> </td> <td class=""><xsl:value-of select="@realname"/></td> </tr> </xsl:template> </xsl:stylesheet> </xml> </head> <SCRIPT LANGUAGE="JavaScript"> function showlist() { divDataT1.innerHTML = xmlDataT1.transformNode(xslDataT1); //定义的divDataT1区域中载入xslDataT1? //resetForm(); } function ShowSelect( ){ //alert("454"); //var iRowNo=getSelectItemT1(); var iPos = getSelectItemT1(); //获得第几个节点 //alert (iPos); var sus_name,sus_em_name /******************************* 抄到这里,就不知道该如何继续了,下面是读取ITEM的属性,然后赋给sus和em两文本字段,但是我如何确定我读取的ITEM是哪一条呢? iPos可以正确的获得 ***************/ sus_name = objItem.getAttribute("sus_name"); sus_em_name = objItem.getAttribute("sus_em_name"); try { document.form1.sus.value=sus_name; document.form1.em.value= sus_em_name; } catch(e){}; } function getSelectItemT1() { var GiftAmount; GiftAmount = document.form1.T1isChecked.length; var i; for(i=0;i<GiftAmount;i++) { if(document.form1.T1isChecked[i].checked) { break; } } return i; //alert(GiftAmount); } </SCRIPT> <body onload="showlist()"> <FORM name="form1" method="post" > <table width="600" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#999999" class="thin"> <tr> <td>代码</td> <td>中文代码</td> <td>真实姓名</td> </tr> <tr> <td><input name="sus" type="text" id="sus" /></td> <td><input name="sus" type="text" id="em" /></td> <td><input name="sus" type="text" id="realname" /></td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> </table> <div id="divDataT1"> </div> </TD> </TBODY></TABLE> </form> </body> </html>
|