HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
|
|
Per presentare i dati in XML
|
Le presentazioni della forma nell'asp sono scritte ad una certa specie del sistema di amministrazione della base di dati. Tuttavia, se desiderate i vostri dati di presentazione della forma essere pi� portatili, pu� essere scritto ad una lima di XML. Ci� � particolarmente utile quando i dati che state riunendo sul vostro Web site saranno trasmessi alle applicazioni sulle piattaforme di non-Windows. Poich� i dati di XML non hanno bisogno di convertito, sono completamente portatili attraverso tutte le piattaforme. Per scrivere una presentazione della forma ad un documento di XML, � necessario da generare un nuovo documento di XML usando l'oggetto di Microsoft XMLDOM. L'oggetto di XMLDOM ha una vasta biblioteca di oggetto che pu� essere usata per generare gli attributi, gli elementi ed i valori che comporranno il documento di XML. Qui non siamo la copertura l'intero modello dell'oggetto, perch� � molto vasto e potrebbe comporre un'intera sezione di questo Web site da s�. Dopo che l'oggetto di XMLDOM sia instantiated, la struttura del XML debba essere presentato generando i riferimenti dell'oggetto agli elementi che compongono ogni strato del documento di XML. Ci� che segue � un esempio di come il XMLDOM sarebbe instantiated e un riferimento all'elemento della radice generato. Dopo che l'elemento della radice sia generato, � allegato al documento di XMLDOM. Allora gli elementi del bambino sono generati e collegato all'elemento della radice ed allora il documento � conservato.
|
Generando e conservando una lima di XML
|
Se i dati devono essere trasmessi alle applicazioni sulle piattaforme di non-Windows memorizzare i dati nelle lime di XML � utile. Ricordar di che i dati non dovranno essere convertiti perch� XML � portatile attraverso tutte le piattaforme
Ora impariamo come generare e conservare una lima di XML. La lima di XML qui sotto sar� chiamata �Mydoc.xml� e sar� immagazzinata nell'indice di c sull'assistente. Useremo sia l'oggetto di XMLDOM del Microsoft che di asp per generare e conservare la lima di XML:
|
<%
Dim objDom
Dim objRoot
Dim objChild1
Dim objChild2
Dim objPI
'Instantiate the XMLDOM object using the CreateObject Method of the
'Server Object.
Set objDom = Server.CreateObject("Microsoft.XMLDOM")
'Create a reference to an IXMLDOMElement (XML Element) Object by
'calling the createElement Method of the XMLDOM. The createElement
'Method accepts one paramter, a string representing the name of the
'element. The return value is passed to the objRoot variable. This
'element reference will represent the root element of the XML
'Document.
Set objRoot = objDom.createElement("rootElement")
'Use the appendChild Method of the XMLDOM Object to add the objRoot
'Element Reference to the XML Document.
objDom.appendChild objRoot
'Now, following the same steps, you will create references to the
'child elements for the XML Document. The only difference is, when the
'child elements are appended to the document, you will call the
'appendChild Method of the IXMLDOMElement Object rather than the
'appendChild Method of the XMLDOM Object. By using the IXMLDOMElement
'to append the children, you are differentiating (and applying tiered
'structure to) the child elements from the root element.
Set objChild1 = objDom.createElement("childElement1")
objRoot.appendChild objChild1
Set objChild2 = objDom.createElement("childElement2")
objRoot.appendChild objChild2
'The final step to take care of before saving this document is to add
'an XML processing instruction. This is necessary so that XML parsers
'will recognize this document as an XML document.
Set objPI = objDom.createProcessingInstruction("xml","version='1.0'")
'Call the insertBefore Method of the XMLDOM Object in order to insert
'the processing instruction before the root element (the zero element
'in the XMLDOM childNodes Collection).
objDom.insertBefore objPI, objDom.childNodes(0)
'Calling the Save Method of the XMLDOM Object will save this XML
'document to your disk drive. In this case, the document will be saved
'to the "c:" drive and will be named "Mydoc.xml". When saving an
'XML document, if the file does not exist, it will be created. If it
'does exist, it will be overwritten.
objDom.Save "c:\Mydoc.xml"
%>
|
Dopo risparmi il vostro documento se aprite il documento assomiglier� al seguente elenco di codice.
|
<?xml version="1.0"?>
<rootElement>
<childElement1 />
<childElement2 />
</rootElement>
|
Esempio della forma reale
|
Lasciarli che guardiamo un esempio reale della forma del HTML.
La forma del HTML sotto chiede il nome, il paese, il E-mail e l'indirizzo dell'utente. Queste informazioni allora saranno redatte ad una lima di XML per immagazzinaggio.
�customers.htm�:
|
<html>
<body>
<form action="saveForm.asp" method="post">
<p><b>Enter your contact information</b></p>
First Name: <input type="text" id="fname" name="fname"><br />
Last Name: <input type="text" id="lname" name="lname"><br />
Country: <input type="text" id="country" name="country"><br />
Email: <input type="text" id="email" name="email"><br />
<input type="submit" id="btn_sub" name="btn_sub" value="Submit">
<input type="reset" id="btn_res" name="btn_res" value="Reset">
</form>
</body>
</html>
|
L'azione per la forma del HTML qui sopra � regolata �a saveForm.asp�. La lima �di saveForm.asp� � una pagina di asp che collegher� attraverso i campi della forma e memorizza i loro valori in una lima di XML:
|
<%
dim xmlDoc
dim rootEl,fieldName,fieldValue,attID
dim p,i
'Do not stop if an error occurs
On Error Resume Next
Set xmlDoc = server.CreateObject("Microsoft.XMLDOM")
xmlDoc.preserveWhiteSpace=true
'Create a root element and append it to the document
Set rootEl = xmlDoc.createElement("customer")
xmlDoc.appendChild rootEl
'Loop through the form collection
for i = 1 To Request.Form.Count
'Eliminate button elements in the form
if instr(1,Request.Form.Key(i),"btn_")=0 then
'Create a field and a value element, and an id attribute
Set fieldName = xmlDoc.createElement("field")
Set fieldValue = xmlDoc.createElement("value")
Set attID = xmlDoc.createAttribute("id")
'Set the value of the id attribute equal to the name of
'the current form field
attID.Text = Request.Form.Key(i)
'Append the id attribute to the field element
fieldName.setAttributeNode attID
'Set the value of the value element equal to
'the value of the current form field
fieldValue.Text = Request.Form(i)
'Append the field element as a child of the root element
rootEl.appendChild fieldName
'Append the value element as a child of the field element
fieldName.appendChild fieldValue
end if
next
'Add an XML processing instruction
'and insert it before the root element
Set p = xmlDoc.createProcessingInstruction("xml","version='1.0'")
xmlDoc.insertBefore p,xmlDoc.childNodes(0)
'Save the XML file
xmlDoc.save "c:\Customer.xml"
'Release all object references
set xmlDoc=nothing
set rootEl=nothing
set fieldName=nothing
set fieldValue=nothing
set attID=nothing
set p=nothing
'Test to see if an error occurred
if err.number<>0 then
response.write("Error: No information saved.")
else
response.write("Your information has been saved.")
end if
%>
|
Note: If the XML file name specified already exists,
it will be overwritten!
The XML file that will be produced by the code above will
look something like this ("Customer.xml"):
|
<?xml version="1.0" ?>
<customer>
<field id="firstName">
<value>Hege</value>
</field>
<field id="lastName">
<value>Refsnes</value>
</field>
<field id="country">
<value>Norway</value>
</field>
<field id="email">
<value>[email protected]</value>
</field>
</customer>
|
Keywords: xml document, document object model, text node, child node,save xml data, xml sample, xml to data, xml schema,xml parsing
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|