Certa vez, testei sem usar um banco de dados e armazenei as informações dos membros do site, informações de dados do produto, informações de transações e informações de personalização do site em três arquivos xml. Os resultados da execução foram muito mais rápidos do que o banco de dados. teste. Não tenho certeza. Para pequenos volumes de dados, os arquivos XML têm muitas vantagens sobre o ACCESS na recuperação e atualização.
Certa vez, testei sem usar um banco de dados e armazenei as informações dos membros do site, informações de dados do produto, informações de transações e informações de personalização do site em três arquivos xml. Os resultados da execução foram muito mais rápidos do que o banco de dados. teste. Não tenho certeza.
Vamos falar sobre os principais métodos de criação, consulta, modificação, etc. operações xml
código do programa
NO.1 - Crie um banco de dados XML data.xml
Copie o código do código da seguinte forma:
<?xml versão=1.0?>
<registros>
<registro>
<name>caca</name>
<qq>154222225</qq>
<e-mail>[email protected]</email>
</record>
<registros>
NO.2--Criar objetoCreateObject
Crie o objeto data.xml primeiro
definir xmldoc=server.createobjcet(microsoft.xmldom)
xmldoc.load(servidor.mappath(dados.xml)
NO.3 - Node selecionadoSelectNode
Qual nó você deseja operar? Você deve localizar este nó, certo?
Faça isso com uma função recursiva:
Copie o código do código da seguinte forma:
getnodes(xmldoc)
sub getnodes(nó)
escurecer eu
resposta.write(<br><b>NodeName:</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>)
se node.childnodes.length<>0 então
para i = 0 para node.childnodes.length-1
getnodes(nó.childnodes(i))
próximo
terminar se
final sub
Depois de usar esta função, você pode ver que este data.xml possui 10 nós.
Esses nós podem ser facilmente localizados:
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
O posicionamento é muito simples? Existe outra maneira, como posicionar <nome>?
xmldoc.selectsinglenode(//nome)
NO.4 - Atribuir valor ao nó (modificar o valor do nó)
Depois de aprender a localizar nós e usar seus atributos, você poderá modificar ou atribuir valores.
Por exemplo, altere o valor de <nome> de caca para wawa
xmldoc.selectsinglenode(//nome).text=wawa
xmldoc.save(servidor.mappath(dados.xml))
Feito!
NO.5 - Crie um novo nóCreatenewNode
Use createelement ou createnode(,,)
Por exemplo: Crie uma nova <idade> em registro e será necessária apenas uma frase:
xmldoc.selectsinglenode(//record).appendchild(xmldoc.createelement(<idade>))
Atribuir um valor a <idade>
xmldoc.selectsinglenode(//idade).text=20
xmldoc.save(servidor.mappath(dados.xml))
Feito!
NO.6 - Excluir um nodeDeleteNode
Você deve especificar o nó pai do nó que deseja excluir, bem como as características deste nó
Por exemplo: excluir nó <qq>
xmldoc.selectsinglenode(//record).removechild(xmldoc.selectsinglenode(//qq))
Por exemplo: exclua o <record> com <nome>=caca
xmldoc.selectsinglenode(//records).removechild(xmldoc.selectsinglenode(//record[nome='caca']))
xmldoc.save(servidor.mappath(dados.xml))
Feito!
Contanto que você seja proficiente nesses 6 códigos e use asp para controlar o banco de dados xml, é quase isso...
================================================= ======
'Criar objeto DOM
definir objDom=server.CreateObject(MicroSoft.XMLDom)
'Obter dados XML
'Método 1 Obtenha os dados xml do arquivo xml
objDom.load(c:/test.xml)
'Método 2 Obtenha os dados da string de dados xml
objDom.loadxml(<pessoas><man name=sd/></pessoas>)
'Cria um objeto de nó
Definir Newnode=objDom.CreateElement(pessoas)
'Dê um valor a este nó
Newnode.Text=Pessoas
'Adiciona atributos a este nó
Definir NewAttribute=objDom.CreateNode(atributo,nome,)
NewAttribute.Text = Zhang San
Newnode.SetAttributeNode NewAttribute
'Adiciona nós filhos a este nó
Definir NewnodeChild=objDom.CreateElement(endereço)
Newnode.appendChild
'Salve este objeto de nó
objDom.appendChild Novo nó
objDom.save(c:/test.xml)
'Encontre um objeto de nó
definir objtofind=objdom.documentElement.SelectSingleNode(//pessoas/homem)
'Obtém o nome do nó, o valor do nó, um determinado valor de atributo e todos os xml deste objeto de nó
nodename=objtofind.nodename
nodevalue=objtofind.text
objtofind.GetAttributeNode(name).NodeValue 'O valor do atributo denominado name
'Obtém um objeto de nó de atributo
definir objattrtofind=objdom.documentElement.SelectSingleNode(//pessoas/man).GetAttributeNode(nome)
'Obtém o nome do atributo e o valor do atributo deste nó
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
'Exclui um objeto de nó
set objnode=objdom.documentElement.SelectSingleNode(//people/man) 'O nó a ser excluído
set objparentnode=objdom.documentElement.SelectSingleNode(//people) 'O nó pai do nó a ser excluído
objparentnode.removeChild objnode
'Obtém o conjunto de bytes de um nó
definir objnodes=objdom.documentElement.SelectSingleNode(//pessoas/man).ChildNodes
Iterar sobre esta coleção
Método 1
para cada elemento em objnodes
resposta.write element.nodename nomenclatura de bytes
response.write element.text valor do ponto de byte
próximo
Método 2
comprimento dom=objnodes.comprimento
para i = 0 para domlength-1
resposta.write objnodes.childnodes(i).nodename nomenclatura de bytes
response.write objnodes.childnodes(i).text valor do ponto de byte
próximo
'Obtém o conjunto de atributos de um nó
definir objnodes=objdom.documentElement.SelectSingleNode(//pessoas/man).GetAttributeNode(nome).atributos
Iterar sobre esta coleção
para cada elemento em objnodes
nome do atributo response.write element.nodename
response.write element.nodevalue valor do atributo
próximo
Depois que você for capaz de usar habilmente o objeto xmldom para operar arquivos xml, poderá aproveitar o objeto xmlhttp para implementar muitas funções em asp.
-------------------------------------------------- ----------------------------------------
Embora o ASP possa operar apenas arquivos XML, ele é suficiente para desenvolvedores de programas em geral.
Antes, eu tinha muito pouco contato com a linguagem XML. Mais tarde, descobri gradualmente que o XML tem muitas conveniências no armazenamento de dados. Embora a segurança não seja boa (na minha opinião), é de fato uma escolha muito boa para armazenamento geral de dados.
Hoje, como o XML precisa ser usado em um site, farei aqui alguns resumos (serão usados posteriormente):
==============
Primeiro, organize o ASP para ler o arquivo XML
código padrão.asp
<%
nó escuro,i,nodecount
definir Doc = CreateObject (Microsoft.XMLDOM)
Doc.async = falso
Doc.load(Server.MapPath(data.xml))
definir raiz = Doc.documentElement
definir nodeLis = root.childNodes
nodeCount = nodeLis.length
Para i = 1 para nodeCount
definir nó = nodeLis.nextNode()
definir custo = node.attributes.getNamedItem(custo)
%>
Registro <%=i%>:
<largura da tabela=50% borda=1>
<tr>
<td width=43 rowspan=2><img src=<%=node.selectSingleNode(img).text%>/></td>
<td width=46>Título do livro</td>
<td width=48>Editora</td>
<td width=42>Preço</td>
</tr>
<tr>
<td>
<%=node.selectSingleNode(nome).text%>
</td>
<td>
<%=node.selectSingleNode(editor).text%>
</td>
<td>
<%= custo.text%>
</td>
</tr>
</tabela>
<%
Próximo
%>
====================
A seguir está o conteúdo de dados de Data.xml
<?xml versão=1.0 codificação=UTF-8?>
<dados>
<custo do livro=56>
<nome>Dreamweaver</nome>
<publisher>China Railway Press</publisher>
<img>img/dw.jpg</img>
</livro>
<custo do livro=62>
<nome>Flash</nome>
<publisher>China Railway Press</publisher>
<img>img/flash.jpg</img>
</livro>
<custo do livro=48>
<name>Fireworks</name>
<publisher>China Railway Press</publisher>
<img>img/fw.jpg</img>
</livro>
</dados>