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. 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.
código de programa
NO.1: crear una base de datos XML data.xml
Copie el código de código de la siguiente manera:
<?versión xml=1.0?>
<registros>
<registro>
<nombre>caca</nombre>
<qq>154222225</qq>
<correo electrónico>[email protected]</correo electrónico>
</registro>
<registros>
NO.2--Crear objetoCrearObjeto
Primero crea el objeto de data.xml
establecer xmldoc=servidor.createobjcet(microsoft.xmldom)
xmldoc.load(servidor.mappath(datos.xml)
NO.3--Nodo seleccionadoSelectNode
¿Qué nodo desea operar? Debe ubicar este nodo, ¿verdad? Primero mire cuántos nodos tiene este data.xml.
Hazlo con una función recursiva:
Copie el código de código de la siguiente manera:
obtenernodos(xmldoc)
subgetnodos(nodo)
oscuro yo
respuesta.write(<br><b>Nombre de nodo:</b>&node.nodename&<br><b>NodeTypeString:</b>&node.nodetypestring&<br><b>NodeVal ue:</b>&node.nodevalue&<br><b>Texto:</b>&node.text&<br><b>node.childnodes.length:</b>&node.childnodes.length&<p>)
si node.childnodes.length<>0 entonces
para i=0 a node.childnodes.length-1
getnodes(nodo.childnodes(i))
próximo
terminar si
sub final
Después de usar esta función, puede ver que este data.xml tiene 10 nodos.
Estos Nodos se pueden localizar fácilmente:
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).texto
xmldoc.childnodes(1).childnodes(0).childnodes(1)
xmldoc.childnodes(1).childnodes(0).childnodes(1).texto
xmldoc.childnodes(1).childnodes(0).childnodes(2)
xmldoc.childnodes(1).childnodes(0).childnodes(2).texto
¿El posicionamiento es muy sencillo? Hay otra forma, como posicionar a <nombre>.
xmldoc.selectsinglenode(//nombre)
NO.4--Asignar valor al nodo (modificar el valor del nodo)
Una vez que aprenda a localizar nodos y utilizar sus atributos, podrá modificar o asignar valores.
Por ejemplo, cambie el valor de <nombre> de caca a wawa
xmldoc.selectsinglenode(//nombre).text=wawa
xmldoc.save(servidor.mappath(datos.xml))
¡Hecho!
NO.5--Crear un nuevo nodoCrearnuevoNodo
Utilice createelement o createnode(,,)
Por ejemplo: cree un nuevo registro <edad> y solo necesitará una oración:
xmldoc.selectsinglenode(//record).appendchild(xmldoc.createelement(<edad>))
Asignar un valor a <edad>
xmldoc.selectsinglenode(//edad).text=20
xmldoc.save(servidor.mappath(datos.xml))
¡Hecho!
NO.6--Eliminar un nodoDeleteNode
Debe especificar el nodo padre del nodo que desea eliminar, así como las características de este nodo.
Por ejemplo: eliminar el nodo <qq>
xmldoc.selectsinglenode(//record).removechild(xmldoc.selectsinglenode(//qq))
Por ejemplo: eliminar el <registro> con <nombre>=caca
xmldoc.selectsinglenode(//records).removechild(xmldoc.selectsinglenode(//record[name='caca']))
xmldoc.save(servidor.mappath(datos.xml))
¡Hecho!
Siempre que domine estos 6 códigos y use asp para controlar la base de datos xml, eso es casi todo...
==================================================== ======
'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 'El valor del atributo denominado 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 pueda utilizar hábilmente el objeto xmldom para operar archivos xml, podrá disfrutar del objeto xmlhttp para implementar muchas funciones en asp.
-------------------------------------------------- ----------------------------------------
Aunque ASP sólo puede operar archivos XML, es suficiente para los desarrolladores de programas en general.
Antes, tenía muy poca exposición al lenguaje XML. Más tarde, descubrí gradualmente que XML tiene muchas ventajas para almacenar datos. Aunque la seguridad no es buena (en mi opinión), es una muy buena opción para el almacenamiento de datos generales.
Hoy, debido a que es necesario usar XML en un sitio web, haré algunos resúmenes aquí (se usarán más adelante):
==============
Primero, organice ASP para leer el archivo XML.
código predeterminado.asp
<%
nodo tenue, i, recuento de nodos
establecer Doc = CreateObject(Microsoft.XMLDOM)
Doc.async = falso
Doc.load(Servidor.MapPath(datos.xml))
establecer raíz = Doc.documentElement
establecer nodeLis = root.childNodes
nodeCount = nodoLis.longitud
Para i=1 a nodeCount
establecer nodo = nodoLis.nextNode()
establecer costo = nodo.atributos.getNamedItem(costo)
%>
Registro <%=i%>:
<ancho de tabla=50% borde=1>
<tr>
<td ancho=43 filas=2><img src=<%=node.selectSingleNode(img).text%>/></td>
<td width=46>Título del libro</td>
<td width=48>Editorial</td>
<td width=42>Precio</td>
</tr>
<tr>
<td>
<%=nodo.selectSingleNode(nombre).text%>
</td>
<td>
<%=nodo.selectSingleNode(editor).text%>
</td>
<td>
<%= costo.texto%>
</td>
</tr>
</tabla>
<%
Próximo
%>
====================
El siguiente es el contenido de datos de Data.xml.
<?versión xml=codificación 1.0=UTF-8?>
<datos>
<coste del libro=56>
<nombre>Tejedora de sueños</nombre>
<publisher>Prensa ferroviaria de China</publisher>
<img>img/dw.jpg</img>
</libro>
<coste del libro=62>
<nombre>Flash</nombre>
<publisher>Prensa ferroviaria de China</publisher>
<img>img/flash.jpg</img>
</libro>
<coste del libro=48>
<name>Firworks</name>
<publisher>Prensa ferroviaria de China</publisher>
<img>img/fw.jpg</img>
</libro>
</datos>