ASP-XML-Operationsklasse, Freunde, die die XML-Operation lernen möchten, können darauf verweisen. Kopieren Sie den Code. Der Code lautet wie folgt: Klasse XMLClass
Privates objXml
Privates xmlDoc
Privater xmlPath
'//============================================= = =============
'
Sub Class_initialize
Set objXml = Server.CreateObject(MSXML2.DOMDocument)
objXml.preserveWhiteSpace = true
objXml.async = false
Sub beenden
SubClass_Terminate
Setze objXml = Nothing
Sub beenden
'//============================================= = =============
'
Öffentliche Funktion CreateNew(sName)
Setze tmpNode = objXml.createElement(sName)
objXml.appendChild(tmpNode)
Legen Sie CreateNew = tmpNode fest
Funktion beenden
'
Öffentliche Funktion OpenXml(sPath)
OpenXml=False
sPath=Server.MapPath(sPath)
'Response.Write(sPath)
xmlPath = sPath
Wenn objXml.load(sPath) Dann
Setze xmlDoc = objXml.documentElement
OpenXml=True
Ende wenn
Funktion beenden
'
Öffentlicher Sub LoadXml(sStr)
objXml.loadXML(sStr)
Setze xmlDoc = objXml.documentElement
Sub beenden
Public Sub InceptXml(xObj)
Setze objXml = xObj
Setze xmlDoc = xObj.documentElement
Sub beenden
'//============================================= = =============
'
Öffentliche Funktion AddNode(sNode,rNode)
' sNode STRING Knotenname
'rNode OBJECT fügt die übergeordnete Knotenreferenz des Knotens hinzu
'============================================== = ============
DimTmpNode
Setze TmpNode = objXml.createElement(sNode)
rNode.appendChild TmpNode
Setze AddNode = TmpNode
Funktion beenden
'
Öffentliche Funktion AddAttribute(sName,sValue,oNode)
' sName STRING-Attributname
' sValue STRING-Attributwert
' oNode OBJECT-Objekt mit hinzugefügten Attributen
'============================================== = ============
oNode.setAttribute sName,sValue
Funktion beenden
'
Öffentliche Funktion AddText(FStr,cdBool,oNode)
Dimmen Sie tmpText
Wenn cdBool Dann
Setze tmpText = objXml.createCDataSection(FStr)
Anders
Setze tmpText = objXml.createTextNode(FStr)
Ende wenn
oNode.appendChild tmpText
Funktion beenden
'============================================== = ============================================== = =====
'
Öffentliche Funktion GetAtt(aName,oNode)
' aName STRING-Attributname
' oNode OBJECT-Knotenreferenz
'============================================== = ============
tmpValue dimmen
tmpValue = oNode.getAttribute(aName)
GetAtt = tmpValue
Funktion beenden
'
Öffentliche Funktion GetNodeName(oNode)
' oNode OBJECT-Knotenreferenz
GetNodeName = oNode.nodeName
Funktion beenden
'
Öffentliche Funktion GetNodeText(oNode)
' oNode OBJECT-Knotenreferenz
GetNodeText = oNode.childNodes(0).nodeValue
Funktion beenden
'
Öffentliche Funktion GetNodeType(oNode)
' oNode OBJECT-Knotenreferenz
GetNodeType = oNode.nodeValue
Funktion beenden
'
Öffentliche Funktion FindNodes(sNode)
Dimmen Sie tmpNodes
Setze tmpNodes = objXml.getElementsByTagName(sNode)
Setze FindNodes = tmpNodes
Funktion beenden
'
Öffentliche Funktion FindNode(sNode)
DimTmpNode
Setze TmpNode=objXml.selectSingleNode(sNode)
Setzen Sie FindNode = TmpNode
Funktion beenden
'
Öffentliche Funktion DelNode(sNode)
Dimmen Sie TmpNodes,Nodesss
Setze TmpNodes=objXml.selectSingleNode(sNode)
Legen Sie Nodesss=TmpNodes.parentNode fest
Nodesss.removeChild(TmpNodes)
Funktion beenden
'
Öffentliche Funktion ReplacementNode(sNode,sText,cdBool)
'replaceChild
Dimmen Sie TmpNodes,tmpText
Setze TmpNodes=objXml.selectSingleNode(sNode)
'AddText sText,cdBool,TmpNodes
Wenn cdBool Dann
Setze tmpText = objXml.createCDataSection(sText)
Anders
Setze tmpText = objXml.createTextNode(sText)
Ende wenn
TmpNodes.replaceChild tmpText,TmpNodes.firstChild
Funktion beenden
Verarbeitungsanweisung für private Funktionen
'//--XML-Deklaration erstellen
Dim objPi
Setze objPi = objXML.createProcessingInstruction(xml, version=&chr(34)&1.0&chr(34)& binding=&chr(34)&gb2312&chr(34))
'//--XML-Leben an XML-Dokument anhängen
objXML.insertBefore objPi, objXML.childNodes(0)
Funktion beenden
'//============================================= = ==============================
'
Öffentliche Funktion SaveXML()
'ProcessingInstruction()
objXml.save(xmlPath)
Funktion beenden
'
Öffentliche Funktion SaveAsXML(sPath)
ProcessingInstruction()
objXml.save(sPath)
Funktion beenden
'//============================================= = ==================================
'Verwandte Statistiken
'
Eigenschaft Get Root
Root = xmlDoc festlegen
End-Eigenschaft
'
Eigenschaft Länge abrufen
Länge = xmlDoc.childNodes.length
End-Eigenschaft
'//============================================= = ==================================
'Verwandte Tests
Eigenschaft GetTestNode
TestNode = xmlDoc.childNodes(0).text
End-Eigenschaft
Unterricht beenden
Die wichtigsten Methoden und Implementierungen von ASP zum Betreiben von XML-Dateien auf der Serverseite über XMLDom
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
'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 'Attributwert mit Attributname 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 Bearbeiten von XML-Dateien zu verwenden, können Sie es genießen
Das xmlhttp-Objekt wird verwendet, um viele Funktionen unter asp zu realisieren.
Betreff:[Übertragung]Die wichtigsten Methoden und Implementierungen von ASP, die XML-Dateien auf der Serverseite über XMLDom betreiben
Feifei, warum führen Sie nicht die Verwendung von @ ein? Ohne dies werden viele Dinge unbequem sein.
XML wird von manchen auch als Datenkomprimierungstechnologie bezeichnet. Wie der Name schon sagt, kann XML als Datenbank verwendet werden.
Daher können wir uns XML als eine kleine Datenbank vorstellen. Warum heißt es klein? Aufgrund der Funktionalität und des Anwendungskomforts von XML selbst gibt es dennoch gewisse Unterschiede zu Datenbanken. Warum verwenden wir also XML? Denn manchmal führen einige unserer Anwendungen einen Datenzugriff durch, aber wenn eine Datenbank verwendet wird, ist die Anzeige nicht flexibel und komfortabel genug. Zu diesem Zeitpunkt sollten wir es in Kombination mit XML verwenden.
Da XML als Datenbank betrachtet werden kann, besteht der erste Schritt natürlich darin, ein Linkobjekt zu erstellen. (Nehmen Sie ASP+xml als Beispiel)
Die Erstellungsmethode ist dieselbe wie bei der Linkdatenbank. Verwenden Sie zum Erstellen server.createobject.
So geht's:
set xmlDoc= Server.CreateObject(microsoft.xmldom)
xmlDoc.async=false
xmldata=absoluter Pfad zur Datenquelle
xmlDoc.load xmldata 'Verwenden Sie die Lademethode, um hier zu verlinken
Da das Datenformat von XML relativ benutzerfreundlich ist, kann es aus menschlichen oder anderen Gründen illegal sein. Wenn Sie es zu diesem Zeitpunkt weiterhin verwenden, führt dies dazu, dass das Programm keinen Prozess mehr hat. Wir führen dies häufig nach der Erstellung des Linkobjekts durch.
So geht's:
wenn xmlDoc.parseError.errorCode<>0 dann
….Fehlerbehandlung
<%
'----------
'Programmeinführung: Vervollständigen Sie die ASP-Sprache, um den Text des angegebenen Knotens im XML-Dokument hinzuzufügen, zu löschen, zu ändern und anzuzeigen
'Eingabeparameter: Keine
'Exportparameter: Keine
'--------
'Funktionsname: ConnectXml()
'Eingabeparameter: Dateiname XML-Dateiname, der verbunden oder geöffnet werden soll
'Exportparameter: Keine
'Rückgabewert: ConnectXml=0, XMLMorntekDocument ist ein Objekt, das das XML-Dokument erfolgreich lädt.
'ConnectXml<>0, dann die Fehlermeldung strError ausgeben
'--------
dim XMLMorntekDocument
Funktion ConnectXml(Dateiname)
dim strSourceFile
strSourceFile = Server.MapPath(Dateiname)
Setze XMLMorntekDocument = Server.CreateObject(Microsoft.XMLDOM)
XMLMorntekDocument.async = false
XMLMorntekDocument.load(strSourceFile)
ConnectXml=XMLMorntekDocument.parseerror.errorcode
wenn XMLMorntekDocument.parseerror.errorcode<>0 dann
strError=<h2>error&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>
Antwort.write strError
Ende wenn
Endfunktion
'--------
'Funktionsname: CloseXml()
'Eingabeparameter: Keine
'Exportparameter: Keine
'--------
Funktion CloseXml(XMLMorntekDocument)
if IsObject(XMLMorntekDocument) dann
Setze XMLMorntekDocument=nichts
Ende wenn
Endfunktion
'--------
'Funktionsname: SelectXmlNodeText(elementname)
'Eingabeparameter: elementname Der Name des Elements
'Exportparameter: Keine
'--------
Funktion SelectXmlNodeText(elementname)
elementname=//&elementname
temp=XMLMorntekDocument.selectSingleNode(elementname).text
selectXmlNodeText= server.htmlencode(temp)
Endfunktion
'--------
'Funktionsname: InsertXmlNodeText(befelementname,elementname,elementtext)
'Eingabeparameter: elementname Der Name des eingefügten Elements
' befelementname fügt ein Element vor dem Namen dieses Elements ein
'elementtext Der Text des eingefügten Elements
'Exportparameter: Keine
'--------
Funktion InsertXmlNodeText(befelementname,elementname,elementtext)
dim befelement,element
set befelement=XMLMorntekDocument.selectSingleNode(//&befelementname)
set element= XMLMorntekDocument.createelement(elementname)
befelement.insertVor dem Element,befelement.firstchild
element.text=elementtext
Endfunktion
'--------
'Funktionsname: UpdateXmlNodeText(elementname,newelementtext)
'Eingabeparameter: elementname Der Name des Elements
' Der neue Text des newelementtext-Elements
'Exportparameter: Keine
'--------
Funktion UpdateXmlNodeText(elementname,newelementtext)
dunkles Element
set element=XMLMorntekDocument.selectSingleNode(//&elementname)
element.text=neuer Elementtext
Endfunktion
'--------
'Funktionsname: DeleteXmlNodeText(elementname)
'Eingabeparameter: elementname Der Name des Elements
'Exportparameter: Keine
'--------
Funktion DeleteXmlNodeText(elementname)
XMLMorntekDocument.selectSingleNode(//&elementname).text =
Endfunktion
%>
____________________
Dieser Artikel wurde nicht getestet und seine Machbarkeit ist unbekannt.