Classe d'opération XML ASP, les amis qui souhaitent apprendre le fonctionnement XML peuvent s'y référer. Copiez le code Le code est le suivant : Classe XMLClass.
ObjXml privé
XMLDoc privé
Chemin XML privé
'//================================================ = =============
'
Sous-classe_initialize
Définir objXml = Server.CreateObject (MSXML2.DOMDocument)
objXml.preserveWhiteSpace = vrai
objXml.async = faux
Fin du sous-marin
Sous-Classe_Terminate
Définir objXml = Rien
Fin du sous-marin
'//================================================ = =============
'
Fonction publique CreateNew(sName)
Définir tmpNode = objXml.createElement(sName)
objXml.appendChild(tmpNode)
Définir CreateNew = tmpNode
Fonction de fin
'
Fonction publique OpenXml (sPath)
OpenXml=Faux
sPath=Serveur.MapPath(sPath)
'Réponse.Écrire(sChemin)
xmlPath = sChemin
Si objXml.load(sPath) Alors
Définir xmlDoc = objXml.documentElement
OpenXml=Vrai
Fin si
Fonction de fin
'
Sous-charge public public (sStr)
objXml.loadXML(sStr)
Définir xmlDoc = objXml.documentElement
Fin du sous-marin
Sous-public InceptXml (xObj)
Définir objXml = xObj
Définir xmlDoc = xObj.documentElement
Fin du sous-marin
'//================================================ = =============
'
Fonction publique AddNode(sNode,rNode)
' Nom du nœud sNode STRING
'rNode OBJECT ajoute la référence de nœud supérieure du nœud
'================================================== = ============
DimTmpNoeud
Définir TmpNode = objXml.createElement(sNode)
rNode.appendChild TmpNode
Définir AddNode = TmpNode
Fonction de fin
'
Fonction publique AddAttribute(sName,sValue,oNode)
' sName STRING nom de l'attribut
' Valeur de l'attribut sValue STRING
' Objet oNode OBJECT avec des attributs ajoutés
'================================================== = ============
oNode.setAttribute sName,sValue
Fonction de fin
'
Fonction publique AddText (FStr, cdBool, oNode)
Dim tmpTexte
Si cdBool Alors
Définir tmpText = objXml.createCDataSection(FStr)
Autre
Définir tmpText = objXml.createTextNode(FStr)
Fin si
oNode.appendChild tmpText
Fonction de fin
'================================================== = ================================================== = =====
'
Fonction publique GetAtt(aName,oNode)
' aName STRING nom de l'attribut
' oNode OBJECT référence du nœud
'================================================== = ============
dim Valeur tmp
tmpValue = oNode.getAttribute (unNom)
GetAtt = tmpValue
Fonction de fin
'
Fonction publique GetNodeName(oNode)
' oNode OBJECT référence du nœud
GetNodeName = oNode.nodeName
Fonction de fin
'
Fonction publique GetNodeText(oNode)
' oNode OBJECT référence du nœud
GetNodeText = oNode.childNodes(0).nodeValue
Fonction de fin
'
Fonction publique GetNodeType(oNode)
' oNode OBJECT référence du nœud
GetNodeType = oNode.nodeValue
Fonction de fin
'
Fonction publique FindNodes(sNode)
Dim tmpNodes
Définir tmpNodes = objXml.getElementsByTagName(sNode)
Définir FindNodes = tmpNodes
Fonction de fin
'
Fonction publique FindNode(sNode)
DimTmpNoeud
Définir TmpNode=objXml.selectSingleNode(sNode)
Définir FindNode = TmpNode
Fonction de fin
'
Fonction publique DelNode(sNode)
Dim TmpNodes,Nodesss
Définir TmpNodes=objXml.selectSingleNode(sNode)
Définir Nodesss=TmpNodes.parentNode
Nodesss.removeChild(TmpNodes)
Fonction de fin
'
Fonction publique ReplaceNode(sNode,sText,cdBool)
'remplacerEnfant
Dim TmpNodes,tmpText
Définir TmpNodes=objXml.selectSingleNode(sNode)
'AddText sText, cdBool, TmpNodes
Si cdBool Alors
Définir tmpText = objXml.createCDataSection(sText)
Autre
Définir tmpText = objXml.createTextNode(sText)
Fin si
TmpNodes.replaceChild tmpText,TmpNodes.firstChild
Fonction de fin
Instruction de traitement de fonction privée
'//--Créer une déclaration XML
Dim objPi
Définir objPi = objXML.createProcessingInstruction(xml, version=&chr(34)&1.0&chr(34)& encoding=&chr(34)&gb2312&chr(34))
'//--Ajouter la vie XML au document XML
objXML.insertAvant objPi, objXML.childNodes(0)
Fonction de fin
'//================================================ = ==============================
'
Fonction publique SaveXML()
'Instruction de traitement()
objXml.save(xmlPath)
Fonction de fin
'
Fonction publique SaveAsXML(sPath)
TraitementInstruction()
objXml.save(sPath)
Fonction de fin
'//================================================ = ===================================
'Statistiques associées
'
Propriété Obtenir la racine
Définir racine = xmlDoc
Propriété de fin
'
Propriété Obtenir la longueur
Longueur = xmlDoc.childNodes.length
Propriété de fin
'//================================================ = ===================================
'Tests associés
Propriété GetTestNode
TestNode = xmlDoc.childNodes(0).text
Propriété de fin
Fin du cours
Les principales méthodes et implémentation des fichiers XML d'exploitation ASP côté serveur via XMLDom
Pour les petits volumes de données, les fichiers XML présentent de nombreux avantages par rapport à ACCESS en termes de récupération et de mise à jour.
Une fois, j'ai testé sans utiliser de base de données et j'ai stocké les informations sur les membres du site Web, les données sur les produits, les informations sur les transactions et les informations de personnalisation du site Web dans trois fichiers XML. Les résultats d'exécution étaient très normaux. Cela semblait beaucoup plus rapide que la base de données, mais je ne l'ai pas fait. testez-le. Je ne suis pas sûr.
Parlons des principales méthodes de création, d'interrogation, de modification, etc. des opérations XML
'Créer un objet DOM
définir objDom=server.CreateObject(MicroSoft.XMLDom)
'Obtenir des données XML
'Méthode 1 Récupérer les données XML du fichier XML
objDom.load(c:/test.xml)
'Méthode 2 Récupérer les données de la chaîne de données XML
objDom.loadxml(<people><man name=sd/></people>)
'Créer un objet nœud
Définir Newnode = objDom.CreateElement (personnes)
'Donnez une valeur à ce nœud
Newnode.Text=Personnes
'Ajouter des attributs à ce nœud
Définir NewAttribute = objDom.CreateNode (attribut, nom,)
NewAttribute.Text = Zhang San
Newnode.SetAttributeNode NouvelAttribute
'Ajouter des nœuds enfants à ce nœud
Définir NewnodeChild=objDom.CreateElement (adresse)
Newnode.appendChild NouveaunodeChild
'Enregistrer cet objet nœud
objDom.appendChild Nouveau nœud
objDom.save(c:/test.xml)
'Trouver un objet nœud
set objtofind=objdom.documentElement.SelectSingleNode(//people/man)
'Obtenir le nom du nœud, la valeur du nœud, une certaine valeur d'attribut et tout le code XML de cet objet nœud
nodename=objtofind.nodename
nodevalue = objtofind.text
objtofind.GetAttributeNode(name).Nodevalue 'Valeur d'attribut avec nom d'attribut name
'Obtenir un objet nœud d'attribut
set objattrtofind=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(name)
'Obtenir le nom d'attribut et la valeur d'attribut de ce nœud
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
'Supprimer un objet nœud
set objnode=objdom.documentElement.SelectSingleNode(//people/man) 'Le nœud à supprimer
set objparentnode=objdom.documentElement.SelectSingleNode(//people) 'Le nœud parent du nœud à supprimer
objparentnode.removeChild objnode
'Obtenir l'ensemble de points d'octet d'un nœud
set objnodes=objdom.documentElement.SelectSingleNode(//people/man).ChildNodes
Parcourez cette collection
Méthode 1
pour chaque élément dans les objnodes
réponse.write element.nodename dénomination des octets
valeur de point d'octet de réponse.write element.text
suivant
Méthode 2
domlength=objnodes.longueur
pour i = 0 à domlength-1
réponse.write objnodes.childnodes(i).nodename dénomination des octets
réponse.write objnodes.childnodes(i).text valeur de point d'octet
suivant
'Obtenir l'ensemble d'attributs d'un nœud
set objnodes=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(name).attributes
Parcourez cette collection
pour chaque élément dans les objnodes
nom de l'attribut réponse.write element.nodename
valeur de l'attribut réponse.write element.nodevalue
suivant
Une fois que vous êtes capable d'utiliser habilement l'objet xmldom pour manipuler des fichiers XML, vous pouvez profiter
L'objet xmlhttp est utilisé pour réaliser de nombreuses fonctions sous asp.
re:[Transfer]Les principales méthodes et implémentation des fichiers XML d'exploitation ASP côté serveur via XMLDom
Feifei, pourquoi n'introduisez-vous pas l'utilisation de @ ? Sans cela, beaucoup de choses seraient gênantes.
XML, certaines personnes l'appellent également technologie de compression de données, comme son nom l'indique, XML peut être utilisé comme base de données.
Par conséquent, nous pouvons considérer XML comme une petite base de données. Pourquoi est-ce qu'on l'appelle petit ? En raison des fonctions et de la commodité d'application de XML lui-même, il existe encore certaines différences avec les bases de données. Alors pourquoi utilisons-nous XML ? Parce que parfois certaines de nos applications effectuent un accès aux données, mais si une base de données est utilisée, l'affichage n'est pas assez flexible et pratique. Pour le moment, nous devrions l'utiliser en combinaison avec XML.
Puisque XML peut être considéré comme une base de données, sa première étape consiste bien entendu à créer un objet lien. (Prenez ASP+xml comme exemple)
La méthode de création est la même que celle de la base de données de liens, utilisez server.createobject pour créer.
Voici comment procéder :
set xmlDoc = Server.CreateObject (microsoft.xmldom)
xmlDoc.async=false
xmldata=chemin absolu vers la source de données
xmlDoc.load xmldata 'Utilisez la méthode de chargement pour créer un lien ici
Étant donné que le format de données XML est relativement convivial, le format de données peut être illégal pour des raisons humaines ou autres. Si vous continuez à l'utiliser à ce stade, le programme s'exécutera de cette manière. nous le faisons souvent après avoir créé l'objet lien.
Voici comment procéder :
si xmlDoc.parseError.errorCode<>0 alors
….Gestion des erreurs
<%
'--------------
'Introduction au programme : complétez le langage asp pour ajouter, supprimer, modifier et afficher le texte du nœud spécifié dans le document XML.
'Paramètres d'entrée : Aucun
'Paramètres d'exportation : Aucun
'--------
'Nom de la fonction : ConnectXml()
'Paramètres d'entrée : nom de fichier nom du fichier XML à connecter ou à ouvrir
'Paramètres d'exportation : Aucun
'Valeur de retour : ConnectXml=0, XMLMorntekDocument est un objet qui charge avec succès le document XML.
'ConnectXml<>0, puis affiche le message d'erreur strError
'--------
dim XMLMorntekDocument
fonction ConnectXml (nom de fichier)
dim strSourceFichier
strSourceFile = Server.MapPath (nom de fichier)
Définir XMLMorntekDocument = Server.CreateObject(Microsoft.XMLDOM)
XMLMorntekDocument.async = false
XMLMorntekDocument.load(strSourceFile)
ConnectXml=XMLMorntekDocument.parseerror.errorcode
si XMLMorntekDocument.parseerror.errorcode<>0 alors
strError=<h2>erreur&XMLMorntekDocument.parseerror.errorcode&</h2>
strError=strError&XMLMorntekDocument.parseerror.reason&<br>
strError=strError&XMLMorntekDocument.parseerror.url&<br>
strError=strError&XMLMorntekDocument.parseerror.line&<br>
strError=strError&XMLMorntekDocument.parseerror.filepos&<br>
strError=strError&XMLMorntekDocument.parseerror.srcText&<br>
réponse.write strError
finir si
fonction de fin
'--------
'Nom de la fonction : CloseXml()
'Paramètres d'entrée : Aucun
'Paramètres d'exportation : Aucun
'--------
fonction CloseXml(XMLMorntekDocument)
si IsObject (XMLMorntekDocument) alors
définir XMLMorntekDocument=rien
finir si
fonction de fin
'--------
'Nom de la fonction : SelectXmlNodeText (nom de l'élément)
'Paramètre d'entrée : elementname Le nom de l'élément
'Paramètres d'exportation : Aucun
'--------
fonction SelectXmlNodeText (nom de l'élément)
nom de l'élément=//&nom de l'élément
temp=XMLMorntekDocument.selectSingleNode(elementname).text
selectXmlNodeText= serveur.htmlencode(temp)
fonction de fin
'--------
'Nom de la fonction : InsertXmlNodeText(befelementname,elementname,elementtext)
'Paramètre d'entrée : elementname Le nom de l'élément inséré
' befelementname insère un élément avant le nom de cet élément
'elementtext Le texte de l'élément inséré
'Paramètres d'exportation : Aucun
'--------
fonction InsertXmlNodeText(befelementname,elementname,elementtext)
dim befelement,élément
set befelement=XMLMorntekDocument.selectSingleNode(//&befelementname)
set element= XMLMorntekDocument.createelement(nom de l'élément)
élément befelement.insertBefore, befelement.firstchild
element.text=elementtext
fonction de fin
'--------
'Nom de la fonction : UpdateXmlNodeText (nom de l'élément, newelementtext)
'Paramètre d'entrée : elementname Le nom de l'élément
' Le nouveau texte de l'élément newelementtext
'Paramètres d'exportation : Aucun
'--------
fonction UpdateXmlNodeText (nom de l'élément, newelementtext)
élément sombre
set element=XMLMorntekDocument.selectSingleNode(//&elementname)
element.text=nouvelélémenttexte
fonction de fin
'--------
'Nom de la fonction : DeleteXmlNodeText (nom de l'élément)
'Paramètre d'entrée : elementname Le nom de l'élément
'Paramètres d'exportation : Aucun
'--------
fonction DeleteXmlNodeText (nom de l'élément)
XMLMorntekDocument.selectSingleNode(//&elementname).text =
fonction de fin
%>
____________________
Cet article n'a pas été testé et sa faisabilité est inconnue.