Clase de operación XML ASP, los amigos que quieran aprender la operación XML pueden consultarla. Copie el código. El código es el siguiente: Clase XMLClass.
objXml privado
Documento xml privado
Ruta xml privada
'//================================================ = ==============
'
Subclase_inicialización
Establecer objXml = Server.CreateObject(MSXML2.DOMDocument)
objXml.preserveWhiteSpace = verdadero
objXml.async = falso
Subtítulo final
Subclase_Terminar
Establecer objXml = Nada
Subtítulo final
'//================================================ = ==============
'
Función pública Crear nuevo (sName)
Establecer tmpNode = objXml.createElement(sName)
objXml.appendChild(tmpNode)
Establecer CrearNuevo = tmpNode
Función final
'
Función pública OpenXml (sPath)
OpenXml=Falso
sPath=Servidor.MapPath(sPath)
'Respuesta.Escribir(sPath)
xmlPath = ruta_s
Si objXml.load (sPath) Entonces
Establecer xmlDoc = objXml.documentElement
OpenXml=Verdadero
Terminar si
Función final
'
Public Sub LoadXml (sStr)
objXml.loadXML(sStr)
Establecer xmlDoc = objXml.documentElement
Subtítulo final
Public Sub InceptXml (xObj)
Establecer objXml = xObj
Establecer xmlDoc = xObj.documentElement
Subtítulo final
'//================================================ = ==============
'
Función pública AddNode(sNode,rNode)
' sNode STRING nombre de nodo
'rNode OBJECT agrega la referencia de nodo superior del nodo
'=================================================== ==============
DimTmpNodo
Establecer TmpNode = objXml.createElement(sNode)
rNode.appendChild TmpNode
Establecer AddNode = TmpNode
Función final
'
Función pública AddAttribute(sName,sValue,oNode)
' sName STRING nombre del atributo
' Valor del atributo sValue STRING
' Objeto oNode OBJECT con atributos agregados
'=================================================== ==============
oNode.setAttribute sNombre,sValor
Función final
'
Función pública AddText(FStr,cdBool,oNode)
Texto tmp tenue
Si cdBool Entonces
Establecer tmpText = objXml.createCDataSection(FStr)
Demás
Establecer tmpText = objXml.createTextNode(FStr)
Terminar si
oNode.appendChild tmpText
Función final
'=================================================== = =================================================== = =====
'
Función pública GetAtt(unNombre,oNodo)
' aName STRING nombre del atributo
' oNode Referencia del nodo OBJETO
'=================================================== ==============
valor tmp tenue
tmpValue = oNode.getAttribute(unNombre)
ObtenerAtt = tmpValue
Función final
'
Función pública GetNodeName(oNode)
' oNode Referencia del nodo OBJETO
GetNodeName = oNode.nodeName
Función final
'
Función pública GetNodeText(oNode)
' oNode Referencia del nodo OBJETO
GetNodeText = oNode.childNodes(0).nodeValue
Función final
'
Función pública GetNodeType (oNode)
' oNode Referencia del nodo OBJETO
GetNodeType = oNode.nodeValue
Función final
'
Función pública FindNodes (sNode)
Dim tmpNodes
Establecer tmpNodes = objXml.getElementsByTagName(sNode)
Establecer FindNodes = tmpNodes
Función final
'
Función pública FindNode (sNode)
DimTmpNodo
Establecer TmpNode=objXml.selectSingleNode(sNode)
Establecer FindNode = TmpNode
Función final
'
Función pública DelNode (sNode)
Dim TmpNodes,Nodesss
Establecer TmpNodes=objXml.selectSingleNode(sNode)
Establecer Nodesss=TmpNodes.parentNode
Nodesss.removeChild(TmpNodes)
Función final
'
Función pública ReemplazarNodo(sNodo,sText,cdBool)
'reemplazarNiño
Dim TmpNodes,tmpText
Establecer TmpNodes=objXml.selectSingleNode(sNode)
'AñadirTexto sText,cdBool,TmpNodes
Si cdBool Entonces
Establecer tmpText = objXml.createCDataSection(sText)
Demás
Establecer tmpText = objXml.createTextNode(sText)
Terminar si
TmpNodes.replaceChild tmpText,TmpNodes.firstChild
Función final
Instrucción de procesamiento de funciones privadas
'//--Crear declaración XML
objPi tenue
Establecer objPi = objXML.createProcessingInstruction(xml, versión=&chr(34)&1.0&chr(34)& codificación=&chr(34)&gb2312&chr(34))
'//--Añadir vida xml al documento xml
objXML.insertAntes de objPi, objXML.childNodes(0)
Función final
'//================================================ = ================================
'
Función pública SaveXML()
'Instrucción de procesamiento()
objXml.save(rutaxml)
Función final
'
Función pública SaveAsXML (sPath)
Instrucción de procesamiento()
objXml.save(sPath)
Función final
'//================================================ = =====================================
'Estadísticas relacionadas
'
Propiedad obtener raíz
Establecer raíz = xmlDoc
Propiedad final
'
Longitud de obtención de propiedad
Longitud = xmlDoc.childNodes.length
Propiedad final
'//================================================ = =====================================
'Pruebas relacionadas
Propiedad GetTestNode
TestNode = xmlDoc.childNodes(0).texto
Propiedad final
Fin de clase
Los principales métodos e implementación de archivos XML operativos ASP en el lado del servidor a través de XMLDom.
Para volúmenes de datos pequeños, los archivos xml tienen muchas ventajas sobre ACCESS en términos de recuperación y actualización.
Una vez probé sin usar una base de datos y almacené la información de los miembros del sitio web, la información de los datos del producto, la información de la transacción y la información de personalización del sitio web en tres archivos xml. Los resultados de ejecución fueron muy normales. pruébalo. No estoy seguro.
Hablemos de los principales métodos para crear, consultar, modificar, etc. operaciones xml.
'Crear objeto DOM
establecer objDom=servidor.CreateObject(MicroSoft.XMLDom)
'Obtener datos xml
'Método 1 Obtener los datos xml del archivo xml
objDom.cargar(c:/test.xml)
'Método 2 Obtener los datos de la cadena de datos xml
objDom.loadxml(<personas><nombre del hombre=sd/></personas>)
'Crear un objeto de nodo
Establecer Newnode=objDom.CreateElement(personas)
'Dale un valor a este nodo
Newnode.Text=Personas
'Agregar atributos a este nodo
Establecer NewAttribute=objDom.CreateNode(atributo,nombre,)
NuevoAtributo.Text= Zhang San
Newnode.SetAttributeNode NuevoAtributo
'Agregar nodos secundarios a este nodo
Establecer NewnodeChild=objDom.CreateElement(dirección)
Nuevonodo.appendChild NuevonodoChild
'Guardar este objeto de nodo
objDom.appendChild Nuevonodo
objDom.save(c:/test.xml)
'Encontrar un objeto de nodo
establecer objtofind=objdom.documentElement.SelectSingleNode(//personas/hombre)
'Obtiene el nombre del nodo, el valor del nodo, un determinado valor de atributo y todo el xml de este objeto de nodo
nombredenodo=objtofind.nombredenodo
valor de nodo=objtofind.text
objtofind.GetAttributeNode(nombre).Nodevalue 'Valor de atributo con nombre de atributo nombre
'Obtener un objeto de nodo de atributo
establecer objattrtofind=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(nombre)
'Obtener el nombre del atributo y el valor del atributo de este nodo
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
'Eliminar un objeto de nodo
set objnode=objdom.documentElement.SelectSingleNode(//people/man) 'El nodo que se eliminará
set objparentnode=objdom.documentElement.SelectSingleNode(//people) 'El nodo padre del nodo que se va a eliminar
objparentnode.removeChild objnode
'Obtiene el conjunto de puntos de bytes de un nodo
establecer objnodes=objdom.documentElement.SelectSingleNode(//people/man).ChildNodes
Iterar sobre esta colección
Método 1
para cada elemento en objnodes
respuesta.escribir elemento.nodename denominación de bytes
respuesta.escribir elemento.texto valor de punto de byte
próximo
Método 2
domlength=objnodes.longitud
para i = 0 a domlength-1
respuesta.escribir objnodes.childnodes(i).nodename denominación de bytes
respuesta.escribir objnodes.childnodes(i).text valor de punto de byte
próximo
'Obtener el conjunto de atributos de un nodo
establecer objnodes=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(nombre).attributes
Iterar sobre esta colección
para cada elemento en objnodes
respuesta.escribir elemento.nodename nombre del atributo
valor del atributo Response.write element.nodevalue
próximo
Una vez que sea capaz de utilizar hábilmente el objeto xmldom para manipular archivos xml, podrá disfrutar
El objeto xmlhttp se utiliza para realizar muchas funciones en asp.
re:[Transferir] Los principales métodos e implementación de archivos XML operativos ASP en el lado del servidor a través de XMLDom
Feifei, ¿por qué no introduces el uso de @? Sin esto, muchas cosas serán inconvenientes.
XML, algunas personas también lo llaman tecnología de compresión de datos. Como su nombre indica, XML se puede utilizar como base de datos.
Por tanto, podemos pensar en xml como una pequeña base de datos. ¿Por qué se llama pequeño? Debido a las funciones y la conveniencia de la aplicación del propio XML, todavía existen ciertas diferencias con las bases de datos. Entonces, ¿por qué usamos xml? Porque a veces algunas de nuestras aplicaciones realizan acceso a datos, pero si se utiliza una base de datos, la visualización no es lo suficientemente flexible y conveniente. En este momento, deberíamos usarlo en combinación con xml.
Dado que xml puede considerarse como una base de datos, su primer paso es, por supuesto, crear un objeto de enlace. (Tome ASP+xml como ejemplo)
El método de creación es el mismo que el de la base de datos vinculada, use server.createobject para crear.
He aquí cómo:
establecer xmlDoc = Server.CreateObject (microsoft.xmldom)
xmlDoc.async=falso
xmldata=ruta absoluta a la fuente de datos
xmlDoc.load xmldata 'Utilice el método de carga para vincular aquí
Dado que el formato de datos xml es relativamente fácil de usar, el formato de datos puede ser ilegal por razones humanas o de otro tipo. Si continúa usándolo en este momento, el programa se quedará sin proceso. A menudo lo hacemos después de crear el objeto de enlace.
He aquí cómo:
si xmlDoc.parseError.errorCode<>0 entonces
….Manejo de errores
<%
'----------
'Introducción al programa: complete el lenguaje asp para agregar, eliminar, modificar y ver el texto del nodo especificado en el documento XML
'Parámetros de entrada: Ninguno
'Parámetros de exportación: Ninguno
'--------
'Nombre de la función: ConnectXml()
'Parámetros de entrada: nombre de archivo nombre de archivo xml que se conectará o abrirá
'Parámetros de exportación: Ninguno
'Valor de retorno: ConnectXml=0, XMLMorntekDocument es un objeto que carga correctamente el documento XML.
'ConnectXml<>0, luego imprime el mensaje de error strError
'--------
XML tenueMorntekDocumento
función ConnectXml (nombre de archivo)
dim strSourceFile
strSourceFile = Server.MapPath(nombre de archivo)
Establecer XMLMorntekDocument = Server.CreateObject(Microsoft.XMLDOM)
XMLMorntekDocument.async = falso
XMLMorntekDocument.load(strSourceFile)
ConnectXml=XMLMorntekDocument.parseerror.errorcode
si XMLMorntekDocument.parseerror.errorcode<>0 entonces
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>
respuesta.escribir strError
terminar si
función final
'--------
'Nombre de la función: CloseXml()
'Parámetros de entrada: Ninguno
'Parámetros de exportación: Ninguno
'--------
función CerrarXml(XMLMorntekDocumento)
si IsObject (XMLMorntekDocument) entonces
establecer XMLMorntekDocument=nada
terminar si
función final
'--------
'Nombre de la función: SelectXmlNodeText(nombre del elemento)
'Parámetro de entrada: nombre_elemento El nombre del elemento
'Parámetros de exportación: Ninguno
'--------
función SelectXmlNodeText (nombre del elemento)
nombre_elemento=//&nombre_elemento
temp=XMLMorntekDocument.selectSingleNode(nombre del elemento).texto
selectXmlNodeText=servidor.htmlencode(temp)
función final
'--------
'Nombre de la función: InsertXmlNodeText(befelementname,elementname,elementtext)
'Parámetro de entrada: nombre de elemento El nombre del elemento insertado
' befelementname inserta un elemento antes del nombre de este elemento
'elementtext El texto del elemento insertado.
'Parámetros de exportación: Ninguno
'--------
función InsertarXmlNodeText(nombredeelemento,nombredeelemento,textodeelemento)
sentimiento tenue, elemento
set befelement=XMLMorntekDocument.selectSingleNode(//&befelementname)
establecer elemento = XMLMorntekDocument.createelement (nombre del elemento)
befelement.insertAntes del elemento,befelement.firstchild
elemento.texto=elementotexto
función final
'--------
'Nombre de la función: UpdateXmlNodeText(nombre del elemento, nuevo texto del elemento)
'Parámetro de entrada: nombre_elemento El nombre del elemento
' El nuevo texto del elemento newelementtext
'Parámetros de exportación: Ninguno
'--------
función UpdateXmlNodeText (nombre del elemento, nuevo texto del elemento)
elemento tenue
establecer elemento=XMLMorntekDocument.selectSingleNode(//&nombre del elemento)
elemento.text=nuevoelementotexto
función final
'--------
'Nombre de la función: DeleteXmlNodeText(nombre del elemento)
'Parámetro de entrada: nombre_elemento El nombre del elemento
'Parámetros de exportación: Ninguno
'--------
función EliminarXmlNodeText(nombre del elemento)
XMLMorntekDocument.selectSingleNode(//&elementname).text =
función final
%>
____________________
Este artículo no ha sido probado y se desconoce su viabilidad.