Ich habe es einmal ohne Verwendung einer Datenbank getestet und die Mitgliederinformationen, Produktdateninformationen, Transaktionsinformationen und Website-Anpassungsinformationen in drei XML-Dateien gespeichert. Die laufenden Ergebnisse waren sehr normal, aber ich habe es nicht getan teste es. Nicht sicher. Bei kleinen Datenmengen bieten XML-Dateien beim Abrufen und Aktualisieren viele Vorteile gegenüber ACCESS.
Ich habe es einmal ohne Verwendung einer Datenbank getestet und die Mitgliederinformationen, Produktdateninformationen, Transaktionsinformationen und Website-Anpassungsinformationen in drei XML-Dateien gespeichert. Die laufenden Ergebnisse waren sehr normal, aber ich habe es nicht getan teste es. Nicht sicher.
Lassen Sie uns über die wichtigsten Methoden zum Erstellen, Abfragen, Ändern usw. von XML-Operationen sprechen
Programmcode
Nr. 1: Erstellen Sie eine XML-Datenbank data.xml
Kopieren Sie den Codecode wie folgt:
<?xml version=1.0?>
<Datensätze>
<Datensatz>
<name>Kakao</name>
<qq>154222225</qq>
<email>[email protected]</email>
</record>
<Datensätze>
Nr. 2 – Objekt erstellenCreateObject
Erstellen Sie zuerst das Objekt data.xml
set xmldoc=server.createobjcet(microsoft.xmldom)
xmldoc.load(server.mappath(data.xml)
Nr. 3 – Ausgewählter KnotenSelectNode
Welchen Knoten möchten Sie betreiben? Sie müssen diesen Knoten finden, oder? Schauen Sie sich zuerst an, wie viele Knoten diese data.xml hat?
Machen Sie es mit einer rekursiven Funktion:
Kopieren Sie den Codecode wie folgt:
getnodes(xmldoc)
sub getnodes(Knoten)
dim ich
Response.write(<br><b>NodeName:</b>&node.nodename&<br><b>NodeTypeString:</b>&node.nodetypestring&<br><b>NodeVal ue:</b>&node.nodevalue&<br><b>Text:</b>&node.text&<br><b>node.childnodes.length:</b>&node.childnodes.length&<p>)
wenn node.childnodes.length<>0 dann
für i=0 bis node.childnodes.length-1
getnodes(node.childnodes(i))
nächste
Ende wenn
Ende sub
Nachdem Sie diese Funktion verwendet haben, können Sie sehen, dass diese data.xml 10 Knoten hat.
Diese Knoten können leicht gefunden werden:
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
Ist die Positionierung sehr einfach? Es gibt eine andere Möglichkeit, beispielsweise die Positionierung von <Name>
xmldoc.selectsinglenode(//name)
Nr. 4 – Wert dem Knoten zuweisen (den Wert des Knotens ändern)
Sobald Sie gelernt haben, Knoten zu lokalisieren und ihre Attribute zu verwenden, können Sie Werte ändern oder zuweisen.
Ändern Sie beispielsweise den Wert von <name> von caca in wawa
xmldoc.selectsinglenode(//name).text=wawa
xmldoc.save(server.mappath(data.xml))
Erledigt!
Nr. 5 – Erstellen Sie einen neuen KnotenCreatenewNode
Verwenden Sie createelement oder createnode(,,)
Beispiel: Erstellen Sie ein neues <Alter> unter Datensatz, und es dauert nur einen Satz:
xmldoc.selectsinglenode(//record).appendchild(xmldoc.createelement(<age>))
Weisen Sie <Alter> einen Wert zu
xmldoc.selectsinglenode(//age).text=20
xmldoc.save(server.mappath(data.xml))
Erledigt!
Nr. 6 – Einen Knoten löschenDeleteNode
Sie müssen den übergeordneten Knoten des Knotens angeben, den Sie löschen möchten, sowie die Eigenschaften dieses Knotens
Beispiel: Knoten <qq> löschen
xmldoc.selectsinglenode(//record).removechild(xmldoc.selectsinglenode(//qq))
Beispiel: Löschen Sie den <Datensatz> mit <Name>=caca
xmldoc.selectsinglenode(//records).removechild(xmldoc.selectsinglenode(//record[name='caca']))
xmldoc.save(server.mappath(data.xml))
Erledigt!
Solange Sie diese 6 Codes beherrschen und ASP zur Steuerung der XML-Datenbank verwenden, ist das fast alles ...
=============================================== ======
'DOM-Objekt erstellen
set objDom=server.CreateObject(MicroSoft.XMLDom)
'Xml-Daten abrufen
'Methode 1 Holen Sie sich die XML-Daten der XML-Datei
objDom.load(c:/test.xml)
'Methode 2 Holen Sie sich die Daten der XML-Datenzeichenfolge
objDom.loadxml(<people><man name=sd/></people>)
'Erstellen Sie ein Knotenobjekt
Setze Newnode=objDom.CreateElement(people)
'Geben Sie diesem Knoten einen Wert
Newnode.Text=Personen
'Attribute zu diesem Knoten hinzufügen
Set NewAttribute=objDom.CreateNode(attribute,name,)
NewAttribute.Text= Zhang San
Newnode.SetAttributeNode NewAttribute
'Fügen Sie diesem Knoten untergeordnete Knoten hinzu
Setze NewnodeChild=objDom.CreateElement(address)
Newnode.appendChild NewnodeChild
'Speichern Sie dieses Knotenobjekt
objDom.appendChild Neuer Knoten
objDom.save(c:/test.xml)
'Suchen Sie ein Knotenobjekt
set objtofind=objdom.documentElement.SelectSingleNode(//people/man)
'Rufen Sie den Knotennamen, den Knotenwert, einen bestimmten Attributwert und die gesamte XML dieses Knotenobjekts ab
Knotenname=objtofind.nodename
nodevalue=objtofind.text
objtofind.GetAttributeNode(name).NodeValue 'Der Attributwert des Attributs namens name
'Holen Sie sich ein Attributknotenobjekt
set objattrtofind=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(name)
'Rufen Sie den Attributnamen und den Attributwert dieses Knotens ab
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
'Ein Knotenobjekt löschen
set objnode=objdom.documentElement.SelectSingleNode(//people/man) 'Der Knoten, der gelöscht werden soll
set objparentnode=objdom.documentElement.SelectSingleNode(//people) 'Der übergeordnete Knoten des zu löschenden Knotens
objparentnode.removeChild objnode
'Holen Sie sich die Bytepunktmenge eines Knotens
set objnodes=objdom.documentElement.SelectSingleNode(//people/man).ChildNodes
Durchlaufen Sie diese Sammlung
Methode 1
für jedes Element in objnodes
Response.write element.nodename Byte-Benennung
Response.write element.text Bytepunktwert
nächste
Methode 2
domlength=objnodes.length
für i = 0 bis domlength-1
Response.write objnodes.childnodes(i).nodename Byte-Benennung
Response.write objnodes.childnodes(i).text Bytepunktwert
nächste
'Holen Sie sich den Attributsatz eines Knotens
set objnodes=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(name).attributes
Durchlaufen Sie diese Sammlung
für jedes Element in objnodes
Response.write element.nodename Attributname
Attributwert „response.write element.nodevalue“.
nächste
Sobald Sie in der Lage sind, das xmldom-Objekt geschickt zum Betreiben von XML-Dateien zu verwenden, können Sie das xmlhttp-Objekt nutzen, um viele Funktionen unter ASP zu implementieren.
-------------------------------------------------- ----------------------------------------
Obwohl ASP nur einfache XML-Dateien bearbeiten kann, ist dies für allgemeine Programmentwickler ausreichend.
Vorher hatte ich nur sehr wenig Erfahrung mit der XML-Sprache. Später entdeckte ich nach und nach, dass XML viele Vorteile beim Speichern von Daten bietet. Obwohl die Sicherheit (meiner Meinung nach) nicht gut ist, ist es tatsächlich eine sehr gute Wahl für die allgemeine Datenspeicherung.
Da XML heute auf einer Website verwendet werden muss, werde ich hier einige Zusammenfassungen erstellen (wird später verwendet):
==============
Organisieren Sie zunächst ASP zum Lesen der XML-Datei
default.asp-Code
<%
dim node,i,nodecount
set Doc = CreateObject(Microsoft.XMLDOM)
Doc.async = false
Doc.load(Server.MapPath(data.xml))
set root = Doc.documentElement
setze nodeLis = root.childNodes
nodeCount = nodeLis.length
Für i=1 bis nodeCount
set node = nodeLis.nextNode()
set cost = node.attributes.getNamedItem(cost)
%>
Datensatz <%=i%>:
<table width=50% border=1>
<tr>
<td width=43 rowspan=2><img src=<%=node.selectSingleNode(img).text%>/></td>
<td width=46>Buchtitel</td>
<td width=48>Verlag</td>
<td width=42>Preis</td>
</tr>
<tr>
<td>
<%=node.selectSingleNode(name).text%>
</td>
<td>
<%=node.selectSingleNode(publisher).text%>
</td>
<td>
<%= cost.text%>
</td>
</tr>
</table>
<%
Nächste
%>
====================
Als nächstes folgt der Dateninhalt von Data.xml
<?xml-Version=1.0-Kodierung=UTF-8?>
<Daten>
<Buchkosten=56>
<name>Traumweber</name>
<publisher>China Railway Press</publisher>
<img>img/dw.jpg</img>
</book>
<Buchkosten=62>
<name>Flash</name>
<publisher>China Railway Press</publisher>
<img>img/flash.jpg</img>
</book>
<Buchpreis=48>
<name>Firwerks</name>
<publisher>China Railway Press</publisher>
<img>img/fw.jpg</img>
</book>
</data>