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. 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
code de programme
NO.1--Créer une base de données XML data.xml
Copiez le code comme suit :
<?xml version=1.0?>
<enregistrements>
<enregistrement>
<nom>caca</nom>
<qq>154222225</qq>
<email>[email protected]</email>
</enregistrement>
<enregistrements>
NO.2--Créer un objetCréer un objet
Créez d'abord l'objet de data.xml
définir xmldoc=server.createobjcet(microsoft.xmldom)
xmldoc.load(server.mappath(data.xml)
NO.3 - Noeud sélectionnéSelectNode
Quel nœud souhaitez-vous utiliser ? Vous devez localiser ce nœud, n'est-ce pas ? Regardez d'abord combien de nœuds possède ce fichier data.xml ?
Faites-le avec une fonction récursive :
Copiez le code comme suit :
getnodes(xmldoc)
sous-getnodes (nœud)
je suis faible
réponse.write(<br><b>NodeName :</b>&node.nodename&<br><b>NodeTypeString :</b>&node.nodetypestring&<br><b>NodeVal ue :</b>&node.nodevalue&<br><b>Texte :</b>&node.text&<br><b>node.childnodes.length :</b>&node.childnodes.length&<p>)
si node.childnodes.length<>0 alors
pour i=0 à node.childnodes.length-1
getnodes(node.childnodes(i))
suivant
finir si
fin du sous
Après avoir utilisé cette fonction, vous pouvez voir que ce data.xml comporte 10 nœuds.
Ces nœuds peuvent être facilement localisés :
xmldoc
xmldoc.childnodes(0)
xmldoc.childnodes(1)
xmldoc.childnodes(1).childnodes(0)
xmldoc.childnodes(1).childnodes(0).childnodes(0)
xmldoc.childnodes(1).childnodes(0).childnodes(0).text
xmldoc.childnodes(1).childnodes(0).childnodes(1)
xmldoc.childnodes(1).childnodes(0).childnodes(1).text
xmldoc.childnodes(1).childnodes(0).childnodes(2)
xmldoc.childnodes(1).childnodes(0).childnodes(2).text
Le positionnement est-il très simple ? Il existe un autre moyen, comme le positionnement de <nom>.
xmldoc.selectsinglenode(//nom)
NO.4--Attribuer une valeur au nœud (modifier la valeur du nœud)
Une fois que vous avez appris à localiser les nœuds et à utiliser leurs attributs, vous pouvez modifier ou attribuer des valeurs.
Par exemple, modifiez la valeur de <name> de caca à wawa
xmldoc.selectsinglenode(//name).text=wawa
xmldoc.save(server.mappath(data.xml))
Fait!
NO.5--Créer un nouveau nœudCreatenewNode
Utilisez createelement ou createnode(,,)
Par exemple : créez un nouveau <age> sous enregistrement, et cela ne prend qu'une seule phrase :
xmldoc.selectsinglenode(//record).appendchild(xmldoc.createelement(<age>))
Attribuer une valeur à <age>
xmldoc.selectsinglenode(//age).text=20
xmldoc.save(server.mappath(data.xml))
Fait!
NO.6--Supprimer un nœudDeleteNode
Vous devez préciser le nœud parent du nœud que vous souhaitez supprimer, ainsi que les caractéristiques de ce nœud
Par exemple : supprimer le nœud <qq>
xmldoc.selectsinglenode(//record).removechild(xmldoc.selectsinglenode(//qq))
Par exemple : supprimez le <record> avec <name>=caca
xmldoc.selectsinglenode(//records).removechild(xmldoc.selectsinglenode(//record[name='caca']))
xmldoc.save(server.mappath(data.xml))
Fait!
Tant que vous maîtrisez ces 6 codes et utilisez asp pour contrôler la base de données XML, c'est presque tout...
=================================================== ======
'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 'La valeur de l'attribut nommé 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 exploiter des fichiers XML, vous pouvez profiter de l'objet xmlhttp pour implémenter de nombreuses fonctions sous asp.
-------------------------------------------------- ---------------------------------------------
Bien qu'ASP ne puisse gérer que des fichiers XML, cela suffit aux développeurs de programmes généraux.
Avant, j'étais très peu exposé au langage XML. Plus tard, j'ai progressivement découvert que XML présentait de nombreuses commodités pour le stockage de données. Bien que la sécurité ne soit pas bonne (à mon avis), c'est effectivement un très bon choix pour le stockage général de données.
Aujourd'hui, parce que XML doit être utilisé sur un site Web, je vais faire ici quelques résumés (qui seront utilisés plus tard) :
==============
Tout d'abord, organisez ASP pour lire le fichier XML
code par défaut.asp
<%
nœud faible, je, nombre de nœuds
set Doc = CreateObject (Microsoft.XMLDOM)
Doc.async = faux
Doc.load(Serveur.MapPath(data.xml))
définir racine = Doc.documentElement
définir nodeLis = root.childNodes
nodeCount = nodeLis.longueur
Pour i=1 à nodeCount
définir le nœud = nodeLis.nextNode()
définir le coût = node.attributes.getNamedItem (coût)
%>
Enregistrer <%=i%> :
<largeur du tableau=50% bordure=1>
<tr>
<td width=43 rowspan=2><img src=<%=node.selectSingleNode(img).text%>/></td>
<td width=46>Titre du livre</td>
<td width=48>Maison d'édition</td>
<td width=42>Prix</td>
</tr>
<tr>
<td>
<%=node.selectSingleNode(name).text%>
</td>
<td>
<%=node.selectSingleNode(publisher).text%>
</td>
<td>
<%= coût.text%>
</td>
</tr>
</table>
<%
Suivant
%>
====================
Vient ensuite le contenu des données de Data.xml
<?xml version=1.0 encodage=UTF-8?>
<données>
<coût du livre=56>
<nom>Dreamweaver</nom>
<éditeur>Presse ferroviaire chinoise</éditeur>
<img>img/dw.jpg</img>
</livre>
<coût du livre=62>
<nom>Flash</nom>
<éditeur>Presse ferroviaire chinoise</éditeur>
<img>img/flash.jpg</img>
</livre>
<coût du livre=48>
<nom>Firworks</nom>
<éditeur>Presse ferroviaire chinoise</éditeur>
<img>img/fw.jpg</img>
</livre>
</données>