Questi sono i file... manca il file XML, ed infondo i sono le mie prime domande... ne farò molte altre se è leito e non vi rompo
FORM HTM
PROCESSORE ASP:codice:<html> <head> <title>Appending data into XML Database</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name='author' contents='Trina Thach'/> </head> <body> <form name='thisform' method='post' action='appending.asp'> <table border='1'> <tr> <td>Employee Name</td> <td><input type='text' name='empname' size='30'/></td> </tr> <tr> <td>Employee Age</td> <td><input type='text' name='empage' size='30'/></td> </tr> <tr> <td><input type='reset' name='reset' value='Reset'></td> <td><input type='submit' name='submit' value='Append Now'></td> </tr> </table> </form> </body> </html>
codice:<html> <head> <title>Appending data into XML Database</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name='author' contents='Trina Thach'/> </head> <body> <% dim objXMLDoc, objCurrNode, objNewNode, objNewText, ename, eage Set objXMLDoc = CreateObject("Microsoft.XMLDOM") objXMLDoc.async = False ' Open the employees.xml database objXMLDoc.load Server.Mappath("employees.xml") if objXMLDoc.ParseError <> 0 then Response.Write ("Error: Could not get the source") else ' Say example, ename entered was "Peter Chang" ename = Request("empname") eage= Request("empage") ' Create empty element <name></name> Set objNewNode = objXMLDoc.createElement("name") ' Create a text node, value is the employee name "Peter Chang" ' that operator enter from the form previously Set objNewText = objXMLDoc.createTextNode(ename) ' Append empname value into element <name>. ' The result is <name>Peter Chang</name> objNewNode.appendChild(objNewText) Set objCurrNode = objXMLDoc.documentElement ' Now, append the new node <name>Peter Chang</name> ' into employees.xml database objCurrNode.appendChild(objNewNode) ' Create empty element <name></name> Set objNewNode = objXMLDoc.createElement("age") ' Create a text node, value is the employee name "Peter Chang" ' that operator enter from the form previously Set objNewText = objXMLDoc.createTextNode(eage) ' Append empname value into element <name>. ' The result is <name>Peter Chang</name> objNewNode.appendChild(objNewText) Set objCurrNode = objXMLDoc.documentElement ' Now, append the new node <name>Peter Chang</name> ' into employees.xml database objCurrNode.appendChild(objNewNode) ' Save the employees.xml database objXMLDoc.save Server.Mappath("employees.xml") ' Once the file has been saved, we are DONE. But for safety reason, ' we'd better double check by printing out the last node. ' Set cursor to the last element in employees.xml ' which is the one you just added ie. Peter Chang Set objCurrNode = objXMLDoc.documentElement.lastChild ' Print out the name and brief message to check whether ' the name has added into database sucessffully Response.Write("Employee ") Response.Write(objCurrNode.xml) Response.Write(" has been added sucessfully into the database.") End if ' Free up memory set objXMLDoc = nothing %> </body> </html>
QUESITI:
1. Come posso aggiungere l'elemento "age" all'elemento "name" anzichè farlo all'elemento "note" (root) ????
qui: Set objCurrNode = objXMLDoc.documentElement
2. Dato che le operazioni di "appending" di name e age sono praticamente identiche... c'è un modo per evitare di scrivere il codice ogni santa volta?
3. Se voglio salvare il file in una locazione diversa come lo scrivo?
PS: Scusate ma sono i miei primi esperimenti on DOM e XML. il codice non l'ho generato tutto da solo, ma sto imparando a modificarlo per acquisirne le nozioni. Sono un grafico web&press e non ho mai programmato
Per esigezenze di lavoro sto studiando il mondo XML... faccio bene?



Rispondi quotando