07
January ÓÃXSL.ASP±à¼XMLÎĵµ(2)
¡¡¡¡±à¼ Contact.asp ÊÇÒ»¸ö±È½ÏÆÕ±éµÄÏÖÏó¡£Õâ¶ùÓÐÁ½¸ö¹¦ÄÜÔÚ±à¼ASPÒ³ÃæÖÐÆðÁËÖ÷Òª×÷ÓᣵÚÒ»¸öÊÇloadXMLFile¹¦ÄÜ£¬ËüLOAD²¢´«ÊäXMLÎļþʹ֮ÏÔʾ³öÀ´£»µÚ¶þ¸öÊÇ updateXML ¹¦ÄÜ£¬ËüÊÊÓÃÓڱ༠XMLÎļþ¹ú¡£
¡¡¡¡
¡¡¡¡ASP File: EditContact.asp:
¡¡¡¡
¡¡¡¡£¼%
¡¡¡¡'-----------------------------------------------------------
¡¡¡¡'"loadXMLFile" º¯Êý½ÓÊÜÁ½¸ö²ÎÊý.
¡¡¡¡'strXMLFile - XMLÎļþµÄ·¾¶ÃûºÍÎļþÃû.
¡¡¡¡'strXSLFilee - XSLÎļþµÄ·¾¶ÃûºÍÎļþÃû.
¡¡¡¡'-----------------------------------------------------------
¡¡¡¡Function loadXMLFile(strXMLFile, strXSLFile)
¡¡¡¡'±¾µØ±äÁ¿
¡¡¡¡
¡¡¡¡Dim objXML Dim objXSL
¡¡¡¡'³õʼ»¯XMLDOM¶ÔÏó.
¡¡¡¡
¡¡¡¡set objXML = Server.CreateObject("Microsoft.XMLDOM")
¡¡¡¡'¹Ø±Õͬ²½¼ÓÔØµÄÎļþ.
¡¡¡¡objXML.async = false
¡¡¡¡
¡¡¡¡'¼ÓÔØXMLÎļþ.
¡¡¡¡
¡¡¡¡objXML.load(strXMLFile)
¡¡¡¡'³õʼ»¯ÓÃÓÚ¼ÓÔØXSLÎļþµÄXMLDOM¶ÔÏó.
¡¡¡¡set objXSL = Server.CreateObject("Microsoft.XMLDOM")
¡¡¡¡'Turn off asyncronous file loading.
¡¡¡¡objXSL.async = false 'Load the XSL file.
¡¡¡¡objXSL.load(strXSLFile)
¡¡¡¡'Use the "transformNode" method of the XMLDOM to apply the
¡¡¡¡'XSL stylesheet to the XML document. Then the output is
¡¡¡¡'written to the client.
¡¡¡¡Response.Write(objXML.transformNode(objXSL))
¡¡¡¡End Function
¡¡¡¡'-----------------------------------------------------------
¡¡¡¡'The "updateXML" Function accepts one parameter.
¡¡¡¡'strXMLFile - The path and file name of the XML file.
¡¡¡¡'-----------------------------------------------------------
¡¡¡¡
¡¡¡¡Function updateXML(strXMLFile)
¡¡¡¡'Declare local variables.
¡¡¡¡Dim objDom
¡¡¡¡Dim objRoot
¡¡¡¡Dim objField
¡¡¡¡Dim x
¡¡¡¡'Instantiate the XMLDOM Object.
¡¡¡¡set objDOM = Server.CreateObject("Microsoft.XMLDOM")
¡¡¡¡'Turn off asyncronous file loading.
¡¡¡¡objDOM.async = false
¡¡¡¡'Load the XML file.
¡¡¡¡objDOM.load strXMLFile
¡¡¡¡'Set the objRoot variable equal to the root element of the
¡¡¡¡'XML file by calling the documentElement method of the
¡¡¡¡'objDOM (XMLDOM) object.
¡¡¡¡Set objRoot = objDom.documentElement
¡¡¡¡'Iterate through the Form Collection and write the
¡¡¡¡'submitted values to the XML file.
¡¡¡¡For x = 1 to Request.Form.Count
¡¡¡¡'Check see if "btn" is in the submitted value, if so,
¡¡¡¡'it is a button and should be ignored.
¡¡¡¡If instr(1,Request.Form.Key(x),"btn") = 0 Then
¡¡¡¡'Set objField variable equal to a field_value element by
¡¡¡¡'calling the selectSingleNode method of the objRoot
¡¡¡¡'(documentElement) object. The SelectSingleNode method
¡¡¡¡'accepts a string parameter for querying the XML document.
¡¡¡¡'In this case, the current value of the key property of
¡¡¡¡'the Form Collection is used to find the appropriate
¡¡¡¡'field_value element (more on this later).
¡¡¡¡
¡¡¡¡Set objField = objRoot.selectSingleNode("field[@id='" & _ Request.Form.Key(x) & "']/field_value")
¡¡¡¡'Set the text property of the objField (field_value)
¡¡¡¡'element equal to the value of the current form field.
¡¡¡¡objField.Text = Request.Form(x)
¡¡¡¡End If
¡¡¡¡Next
¡¡¡¡'After the XML file has been edited, is must be saved.
¡¡¡¡objDom.save strXMLFile
¡¡¡¡'Release all of your object references.
¡¡¡¡Set objDom = Nothing
¡¡¡¡Set objRoot = Nothing
¡¡¡¡Set objField = Nothing
¡¡¡¡'Call the loadXMLFile method, passing in the newly edited
¡¡¡¡'XML file and the updatedcontact.xsl style sheet. This will
¡¡¡¡'allow the client to see the edited information. More on the
¡¡¡¡'updatedcontact.xsl file later.
¡¡¡¡loadXMLFile strXMLFile,
¡¡¡¡server.MapPath("updatedcontact.xsl")
¡¡¡¡End Function
¡¡¡¡'Test to see if the form has been submitted. If it has,
¡¡¡¡'update the XML file. If not, transform the XML file for
¡¡¡¡'editing.
¡¡¡¡If Request.Form("btnSubmit") = "" Then
¡¡¡¡loadXMLFile server.MapPath("Contact.xml"), _ server.MapPath("contact.xsl")
¡¡¡¡Else
¡¡¡¡updateXML server.MapPath("Contact.xml")
¡¡¡¡End If
¡¡¡¡%£¾
¡¡¡¡
¡¡¡¡ÕýÈçÄãËù¿´µ½µÄÒ»Ñù£¬ASPÎļþ´¦ÀíÁËÕû¸öXMLÎļþ¸üеĹý³Ì¡£Èç¹û±íµ¥Òѱ»Ìá½»£¬ÄÇôXMLÎļþÔò»á±»´ò¿ª²¢¸üС£Èç¹û±íµ¥Ã»Óб»Ìá½»£¬ÄÇôXMLÎļþ»áÓÉcontact.xsl´«ËÍÖÁHTML¸ñʽ£¬ÒÔ±ãÓû§×ÔÐб༡£Ïê¼ûÒÔϾÙÀý£º
¡¡¡¡
¡¡¡¡For x = 1 to Request.Form.Count
¡¡¡¡If instr(1,Request.Form.Key(x),"btn") = 0 Then
¡¡¡¡Set objField = objRoot.selectSingleNode("field[@id='" & _ Request.Form.Key(x) & "']/field_value")
¡¡¡¡objField.Text = Request.Form(x)
¡¡¡¡End If
¡¡¡¡Next
¡¡¡¡ÉÏÊö´úÂëÊǸüÐÂXMLÎļþµÄ´úÂë¡£SelectSingleNode ·½·¨Êǹؼü¡£
¡¡¡¡ÔÚÉÏÊö¾ÙÀýÖУ¬ÎʾäÊÇ"field[@id='"& request.form.key(x) & "']/field_value"¡£ËùѯÎʵÄÊÇ£ºÒªÇó×öΪ ×ÓÓòÔªËØ µÄfield_value element °üº¬Ò»¸ö"ID"£¬´ËID¶øÇÒÊÇÓëÏÖÓеÄForm CollectionÖеĹؼüÖµÏàÆ¥Åä¡£Ò»µ©»ñµÃÊʵ±µÄ½Úµã£¬Ôò¿ÉÒÔ¸üÐÂÎı¾ÊôÐÔÒÔ±ãÓëForm CollectionÖеÄÖµÏàÆ¥Åä¡£
#If you have any other info about this subject , Please add it free.# |
Posted by ×÷Õß²»Ïê under gznq.com | Comment now » |