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 |
|
|
|
|
Daten in XML einreichen
|
Formunterordnungen in Asp werden zu irgendeiner Art des Datenbankmanagementsystems geschrieben. Jedoch wenn du deine Formunterordnungdaten beweglicher sein w�nschst, kann es zu einer XML Akte geschrieben werden. Dieses ist besonders n�tzlich, wenn die Daten, die du auf deiner Web site erfa�t, zu den Anwendungen auf NichtWindows Plattformen geschickt werden. Da XML Daten nicht umgewandelt ben�tigen, ist sie �ber allen Plattformen vollst�ndig beweglich. Um eine Formunterordnung zu einem XML Dokument zu schreiben, ist es notwendig ein neues XML Dokument mit dem Microsoft XMLDOM Gegenstand zu erstellen. Der XMLDOM Gegenstand hat eine umfangreiche Gegenstandbibliothek, die benutzt werden kann, um die Attribute, die Elemente und die Werte zu verursachen, die das XML Dokument bilden. Hier sind wir nicht Abdeckung das gesamte Gegenstandmodell, weil es selbst sehr umfangreich ist und einen gesamten Abschnitt dieser Web site bilden k�nnte. Nachdem der XMLDOM Gegenstand instantiated, die Struktur des XML mu� ausgebreitet werden gewesen ist, indem er Gegenstandhinweise auf den Elementen verursachte, die jede Schicht des XML Dokumentes bilden. Das folgende ist ein Beispiel von, wie das XMLDOM instantiated sein w�rde und ein Hinweis auf dem Wurzelelement verursachte. Nachdem das Wurzelelement verursacht ist, wird es zum XMLDOM Dokument angef�gt. Dann werden Kindelemente verursacht und hinzugef�gt zum Wurzelelement und dann wird das Dokument gespeichert.
|
Eine XML Akte herstellen und speichernd
|
Wenn die Daten zu den Anwendungen auf NichtWindows Plattformen gesendet werden sollen, Daten in den XML Akten ist zu speichern n�tzlich. Daran erinnern, da� Daten nicht brauchen umgewandelt zu werden, weil XML �ber allen Plattformen beweglich ist
Jetzt erlernen wir, wie man eine XML Akte herstellt und speichert. Die XML Akte unten wird �Mydoc.xml� genannt und wird im c Verzeichnis auf dem Bediener gespeichert. Wir benutzen Asp und XMLDOM Microsofts Gegenstand, um die XML Akte herzustellen und zu speichern:
|
<%
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"
%>
|
Nach au�er deinem Dokument, wenn du das Dokument �ffnest, sieht es wie die folgende Codeauflistung aus.
|
<?xml version="1.0"?>
<rootElement>
<childElement1 />
<childElement2 />
</rootElement>
|
Beispiel der realen Form
|
Uns lassen, die wir ein reales HTML Formbeispiel betrachten.
Die HTML Form folgend bittet um des den Namen, Land, E-mail und Adresse Benutzers. Diese Informationen werden dann zu einer XML Akte f�r Ablage geschrieben.
�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>
|
Die Klage auf die HTML Form oben wird auf �saveForm.asp� eingestellt. Die �saveForm.asp� Akte ist eine Asp Seite, die durch die Form auff�ngt sich schlingt und speichert ihre Werte in einer XML Akte:
|
<%
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
%>
|
Anmerkung: Wenn der XML Dateiname, der bereits spezifiziert wird, besteht, wird er �berschrieben!
Die XML Akte, die durch den Code oben produziert wird, schaut etwas �hnliches (�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 |
|
|