Classe de operação XML ASP, amigos que desejam aprender a operação XML podem consultá-la. Copie o código. O código é o seguinte: Classe XMLClass.
ObjXml privado
XMLDoc privado
XMLPath privado
'//=============================================== = =============
'
Subclasse_initialize
Definir objXml = Server.CreateObject(MSXML2.DOMDocument)
objXml.preserveWhiteSpace = verdadeiro
objXml.async = falso
Finalizar sub
SubClass_Terminate
Definir objXml = Nada
Finalizar sub
'//=============================================== = =============
'
Função pública CreateNew(sName)
Definir tmpNode = objXml.createElement(sName)
objXml.appendChild(tmpNode)
Definir CriarNovo = tmpNode
Função final
'
Função Pública OpenXml(sPath)
OpenXml=Falso
sPath=Servidor.MapPath(sPath)
'Resposta.Write(sPath)
xmlPath = sPath
Se objXml.load(sPath) Então
Definir xmlDoc = objXml.documentElement
OpenXml = Verdadeiro
Terminar se
Função final
'
Sub LoadXml público (sStr)
objXml.loadXML(sStr)
Definir xmlDoc = objXml.documentElement
Finalizar sub
SubInceptXml público (xObj)
Definir objXml = xObj
Definir xmlDoc = xObj.documentElement
Finalizar sub
'//=============================================== = =============
'
Função pública AddNode(sNode,rNode)
' sNode STRING nome do nó
'rNode OBJECT adiciona a referência de nó superior do nó
'================================================ =============
DimTmpNode
Definir TmpNode = objXml.createElement(sNode)
rNode.appendChild TmpNode
Definir AddNode = TmpNode
Função final
'
Função pública AddAttribute(sName,sValue,oNode)
' sName STRING nome do atributo
' sValue Valor do atributo STRING
'objeto oNode OBJECT com atributos adicionados
'================================================ =============
oNode.setAttribute sName,sValue
Função final
'
Função pública AddText(FStr,cdBool,oNode)
Dim tmpText
Se cdBool então
Definir tmpText = objXml.createCDataSection(FStr)
Outro
Definir tmpText = objXml.createTextNode(FStr)
Terminar se
oNode.appendChild tmpText
Função final
'================================================ ================================================= ======
'
Função pública GetAtt(aName,oNode)
' aName STRING nome do atributo
' referência do nó oNode OBJECT
'================================================ =============
dim tmpValor
tmpValue = oNode.getAttribute(aName)
GetAtt = tmpValor
Função final
'
Função pública GetNodeName(oNode)
' referência do nó oNode OBJECT
GetNodeName = oNode.nodeName
Função final
'
Função Pública GetNodeText(oNode)
' referência do nó oNode OBJECT
GetNodeText = oNode.childNodes(0).nodeValue
Função final
'
Função Pública GetNodeType(oNode)
' referência do nó oNode OBJECT
GetNodeType = oNode.nodeValue
Função final
'
Função pública FindNodes(sNode)
Escurecer tmpNodes
Definir tmpNodes = objXml.getElementsByTagName(sNode)
Definir FindNodes = tmpNodes
Função final
'
Função pública FindNode(sNode)
DimTmpNode
Definir TmpNode=objXml.selectSingleNode(sNode)
Definir FindNode = TmpNode
Função final
'
Função Pública DelNode(sNode)
Dim TmpNodes,Nodesss
Definir TmpNodes=objXml.selectSingleNode(sNode)
Definir Nodesss=TmpNodes.parentNode
Nodesss.removeChild(TmpNodes)
Função final
'
Função pública ReplaceNode(sNode,sText,cdBool)
'substituir Filho
Dim TmpNodes,tmpText
Definir TmpNodes=objXml.selectSingleNode(sNode)
'AddText sText,cdBool,TmpNodes
Se cdBool então
Definir tmpText = objXml.createCDataSection(sText)
Outro
Definir tmpText = objXml.createTextNode(sText)
Terminar se
TmpNodes.replaceChild tmpText,TmpNodes.firstChild
Função final
Instrução de Processamento de Função Privada
'//--Criar declaração XML
Dim objPi
Definir objPi = objXML.createProcessingInstruction(xml, version=&chr(34)&1.0&chr(34)& encoding=&chr(34)&gb2312&chr(34))
'//--Anexar vida xml ao documento xml
objXML.insertAntes de objPi, objXML.childNodes(0)
Função final
'//=============================================== ==============================
'
Função pública SaveXML()
'Instrução de Processamento()
objXml.save(xmlPath)
Função final
'
Função pública SaveAsXML(sPath)
Instrução de Processamento()
objXml.save(sPath)
Função final
'//=============================================== ===================================
'Estatísticas relacionadas
'
Propriedade obter raiz
Definir raiz = xmlDoc
Fim da propriedade
'
Comprimento de obtenção de propriedade
Comprimento = xmlDoc.childNodes.length
Fim da propriedade
'//=============================================== ===================================
'Testes relacionados
Propriedade GetTestNode
TestNode = xmlDoc.childNodes(0).texto
Fim da propriedade
Fim da aula
Os principais métodos e implementação de ASP operando arquivos XML no lado do servidor através de XMLDom
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
'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 'Valor do atributo com nome do atributo nome
'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 de conseguir usar habilmente o objeto xmldom para manipular arquivos xml, você poderá aproveitar
O objeto xmlhttp é usado para realizar muitas funções em asp.
re:[Transferência]Os principais métodos e implementação de arquivos XML operacionais ASP no lado do servidor por meio de XMLDom
Feifei, por que você não introduz o uso de @? Sem isso, muitas coisas serão inconvenientes.
XML, algumas pessoas também chamam de tecnologia de compressão de dados, como o nome sugere, XML pode ser usado como banco de dados.
Portanto, podemos pensar no xml como um pequeno banco de dados. Por que é chamado de pequeno? Devido às funções e à conveniência de aplicação do próprio XML, ainda existem algumas diferenças com os bancos de dados. Então, por que usamos xml? Porque às vezes alguns de nossos aplicativos realizam acesso a dados, mas se um banco de dados for usado, a exibição não é flexível e conveniente o suficiente. Neste momento, devemos usá-lo em combinação com xml.
Como o xml pode ser considerado um banco de dados, seu primeiro passo é, obviamente, criar um objeto de link. (Tome ASP+xml como exemplo)
O método de criação é o mesmo do banco de dados de link, use server.createobject para criar.
Veja como:
definir xmlDoc = Server.CreateObject (microsoft.xmldom)
xmlDoc.async=falso
xmldata=caminho absoluto para a fonte de dados
xmlDoc.load xmldata 'Use o método load para vincular aqui
Como o formato de dados xml é relativamente fácil de usar, o formato dos dados pode ser ilegal por motivos humanos ou outros. Se você continuar a usá-lo neste momento, o programa ficará sem processo. frequentemente fazemos isso depois de criar a validação do formato de dados.
Veja como:
se xmlDoc.parseError.errorCode<>0 então
….Tratamento de erros
<%
'----------
'Introdução ao programa: Complete a linguagem asp para adicionar, excluir, modificar e visualizar o texto do nó especificado no documento XML
'Parâmetros de entrada: Nenhum
'Parâmetros de exportação: Nenhum
'--------
'Nome da função: ConnectXml()
'Parâmetros de entrada: nome do arquivo nome do arquivo xml a ser conectado ou aberto
'Parâmetros de exportação: Nenhum
'Valor de retorno: ConnectXml=0, XMLMorntekDocument é um objeto que carrega com êxito o documento XML.
'ConnectXml<>0, então imprima a mensagem de erro strError
'--------
escurecer XMLMorntekDocument
função ConnectXml (nome do arquivo)
dim strSourceFile
strSourceFile = Server.MapPath(nome do arquivo)
Definir XMLMorntekDocument = Server.CreateObject(Microsoft.XMLDOM)
XMLMorntekDocument.async = falso
XMLMorntekDocument.load(strSourceFile)
ConnectXml=XMLMorntekDocument.parseerror.errorcode
se XMLMorntekDocument.parseerror.errorcode<>0 então
strError=<h2>erro&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>
resposta.write strError
terminar se
função final
'--------
'Nome da função: CloseXml()
'Parâmetros de entrada: Nenhum
'Parâmetros de exportação: Nenhum
'--------
função CloseXml(XMLMorntekDocument)
se IsObject(XMLMorntekDocument) então
definir XMLMorntekDocument = nada
terminar se
função final
'--------
'Nome da função: SelectXmlNodeText(nome do elemento)
'Parâmetro de entrada: elementname O nome do elemento
'Parâmetros de exportação: Nenhum
'--------
função SelectXmlNodeText (nome do elemento)
nomedoelemento=//&nomedoelemento
temp=XMLMorntekDocument.selectSingleNode(nome do elemento).text
selectXmlNodeText= server.htmlencode(temp)
função final
'--------
'Nome da função: InsertXmlNodeText(befelementname,elementname,elementtext)
'Parâmetro de entrada: elementname O nome do elemento inserido
' befelementname insere um elemento antes do nome deste elemento
'elementtext O texto do elemento inserido
'Parâmetros de exportação: Nenhum
'--------
função InsertXmlNodeText (nome do elemento, nome do elemento, texto do elemento)
dim befelement, elemento
set befelement=XMLMorntekDocument.selectSingleNode(//&befelementname)
definir elemento = XMLMorntekDocument.createelement (nome do elemento)
befelement.insertBefore elemento,befelement.firstchild
elemento.text=elementotexto
função final
'--------
'Nome da função: UpdateXmlNodeText(elementname,newelementtext)
'Parâmetro de entrada: elementname O nome do elemento
'O novo texto do elemento newelementtext
'Parâmetros de exportação: Nenhum
'--------
função UpdateXmlNodeText (nome do elemento, novo texto do elemento)
elemento escuro
definir elemento=XMLMorntekDocument.selectSingleNode(//&nomedoelemento)
element.text=novoelementotexto
função final
'--------
'Nome da função: DeleteXmlNodeText(nome do elemento)
'Parâmetro de entrada: elementname O nome do elemento
'Parâmetros de exportação: Nenhum
'--------
função DeleteXmlNodeText (nome do elemento)
XMLMorntekDocument.selectSingleNode(//&elementname).text =
função final
%>
____________________
Este artigo não foi testado e sua viabilidade é desconhecida.