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 |
|
|
|
|
Pour soumettre des données dans XML
|
Des soumissions de forme dans l'asp sont écrites à une certaine sorte de système de gestion de base de données. Cependant, si vous voulez que vos données de soumission de forme soient plus portatives, il peut écrire à un dossier de XML. C'est particulièrement utile quand les données que vous recueillez sur votre site Web seront envoyées aux applications sur des plateformes de non-Windows. Puisque les données de XML pas ont besoin converti, elles sont complètement portatives à travers toutes les plateformes. Afin d'écrire une soumission de forme à un document de XML, il est nécessaire de créer un nouveau document de XML en utilisant l'objet de Microsoft XMLDOM. L'objet de XMLDOM a une bibliothèque des programmes résultants étendue qui peut être employée pour créer les attributs, les éléments, et les valeurs qui composeront le document de XML. Ici nous ne sommes pas couverture le modèle entier d'objet, parce qu'il est très étendu et pourrait composer une section entière de ce site Web par lui-même. Après que l'objet de XMLDOM ait été instantiated, la structure du XML doive être présenté en créant des références d'objet aux éléments qui composent chaque couche du document de XML. Ce qui suit est un exemple de la façon dont le XMLDOM serait instantiated et une référence à l'élément de racine créé. Après que l'élément de racine soit créé, il est apposé au document de XMLDOM. Alors des éléments d'enfant sont créés et apposé à l'élément de racine et alors le document est sauvé.
|
Créant et sauvant un dossier de XML
|
Si les données doivent être envoyées aux applications sur des plateformes de non-Windows le stockage des données dans des dossiers de XML est utile. Se rappeler que des données ne devront pas être converties parce que XML est portatif à travers toutes les plateformes
Maintenant nous apprenons comment créer et sauver un dossier de XML. Le dossier de XML ci-dessous sera appelé « Mydoc.xml » et stocké dans l'annuaire de c sur le serveur. Nous emploierons l'objet d'asp et de XMLDOM de Microsoft pour créer et sauver le dossier de 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"
%>
|
Après économiser votre document si vous ouvrez le document il ressemblera à la liste des codes suivante.
|
<?xml version="1.0"?>
<rootElement>
<childElement1 />
<childElement2 />
</rootElement>
|
Exemple de vraie forme
|
Nous laisser que nous regardons un vrai exemple de forme de HTML.
La forme de HTML ci-dessous demande le nom, le pays, l'E-mail et l'adresse de l'utilisateur. Cette information sera alors écrite à un dossier de XML pour le stockage.
« 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'action pour la forme de HTML ci-dessus est placée à « saveForm.asp ». Le dossier de « saveForm.asp » est une page d'asp qui fera une boucle par les champs de forme et stocke leurs valeurs dans un dossier de 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 : Si le nom de fichier de XML indiqué déjà existe, il sera recouvert !
Le dossier de XML qui sera produit par le code ci-dessus regardera n'importe quoi de pareil (« 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 |
|
|