abertoletti Postado Julho 6, 2005 Denunciar Share Postado Julho 6, 2005 Estou fazendo uma aplicação e usando XML como um pequeno banco de dados. Consegui ler, inserir, alterar, mas não consigo excluir. alguém pode me ajudar?Obrigado,André Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Julho 7, 2005 Denunciar Share Postado Julho 7, 2005 Tentou o método removeChild?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 abertoletti Postado Julho 7, 2005 Autor Denunciar Share Postado Julho 7, 2005 Eu tenho o seguinte XML: <?xml version="1.0" encoding="ISO-8859-1" ?> - <CDS> - <CD> <CodCd>1</CodCd> <Banda>Dream Theater</Banda> <Titulo>Train Of Thought</Titulo> <AnoCD>2003</AnoCD> <AnoCompra>2004/01/10</AnoCompra> <Musicas>7</Musicas> <Capa /> <Comentario /> </CD> - <CD> <CodCd>2</CodCd> <Banda>Dream Theater</Banda> <Titulo>Live At Budokan</Titulo> <AnoCD>2004</AnoCD> <AnoCompra>2005/03/02</AnoCompra> <Musicas>15</Musicas> <Capa /> <Comentario>R</Comentario> </CD></CDS>Eu teria que fazer um selectnodes no <CDS> e depois usar o removeChild no <CD>?Quando eu faço isso, só aparecem 2 métodos (Reset e NextNode) e 2 propriedades (Item e Lenght) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Julho 7, 2005 Denunciar Share Postado Julho 7, 2005 Eu tenho o seguinte XML: <?xml version="1.0" encoding="ISO-8859-1" ?> - <CDS> - <CD> <CodCd>1</CodCd> <Banda>Dream Theater</Banda> <Titulo>Train Of Thought</Titulo> <AnoCD>2003</AnoCD> <AnoCompra>2004/01/10</AnoCompra> <Musicas>7</Musicas> <Capa /> <Comentario /> </CD> - <CD> <CodCd>2</CodCd> <Banda>Dream Theater</Banda> <Titulo>Live At Budokan</Titulo> <AnoCD>2004</AnoCD> <AnoCompra>2005/03/02</AnoCompra> <Musicas>15</Musicas> <Capa /> <Comentario>R</Comentario> </CD></CDS>Eu teria que fazer um selectnodes no <CDS> e depois usar o removeChild no <CD>?Quando eu faço isso, só aparecem 2 métodos (Reset e NextNode) e 2 propriedades (Item e Lenght) Exato. Veja esse exemplo abaixo, ele remove o CD de código 1 (ficando apenas o 2, no caso desse XML que você postou, que chamei de "teste.xml") e grava o resultado em "teste2.xml": Dim xml As New DOMDocument Dim cds As IXMLDOMNode Dim seleção As IXMLDOMNodeList Dim cd As IXMLDOMNode Dim campos As IXMLDOMNodeList Dim campo As IXMLDOMNode If xml.Load("teste.xml") Then Set cds = xml.selectSingleNode("CDS") Set seleção = xml.selectNodes("CDS/*") For Each cd In seleção Set campos = cd.childNodes For Each campo In campos 'Debug.Print campo.nodeName & "=" & campo.nodeTypedValue If campo.nodeName = "CodCd" And campo.nodeTypedValue = 1 Then cds.removeChild cd End If Next campo Next cd End If xml.save "teste2.xml" Certo? Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 abertoletti Postado Julho 7, 2005 Autor Denunciar Share Postado Julho 7, 2005 Eu consegui também hehehehe acabei de fazer um que deu certo e vim postar aqui mas você já tinha resolvido. Obrigado pela ajuda.Vou postar o meu caso alguém precise também.Eu acabei jogando o código do CD como um atributo da node CD, removendo a ChildNode "CodCd". Private Sub cmdExcluir_Click() Dim objDOMCD as DOMDocument Dim objNodes As IXMLDOMNodeList Dim objElemento As IXMLDOMNode Dim objChildElement As IXMLDOMElement Set objDOMCD = New DOMDocument objDOMCD.resolveExternals = True objDOMCD.validateOnParse = True objDOMCD.async = False If Not objDOMCD.Load(App.Path & "\ccd.xml") Then Exit Sub End If Set objNodes = objDOMCD.selectNodes("CDS/CD") For Each objElemento In objNodes If objElemento.Attributes(0).Text = msgCd.TextMatrix(msgCd.Row, 0) Then objDOMCD.documentElement.removeChild objElemento objDOMCD.Save (App.Path & "\ccd.xml") End If Next objElemento AtualizaGrid End Sub Por enquanto deu certo, mas vou tentar o seu também pra ver qual fica melhor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
abertoletti
Estou fazendo uma aplicação e usando XML como um pequeno banco de dados. Consegui ler, inserir, alterar, mas não consigo excluir. alguém pode me ajudar?
Obrigado,
André
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.