XML FILTRAGEM E CONSULTA
Comecei a estudar xml com vb6... consegui fazer com sucesso, edição, inclusão de dados via dom. Agora minha dúvida é como fazer filtragem e consulta nos nós xml, alguem tem uma dica?
Desde já Obrigado
Desde já Obrigado
Bom pelo que sei de DOM..não da no vb para usar xml como no .NET que você podera usar o xml como uma tabela .., a rotina que tenho aqui vai lendo os nós , porem te aconselho a passar o xml para um data base assim fica mais facil de usar os dados... Ja que ate aonde usei o DOM achei bem restrito.
Ehh to migrando pro vb.net vb6!!
Já achei exemplos no vb.net de edição e gravação mas de pesquisa e filtragem não! Alguem ai sabe como ou tem o link de um tuto!??
Desde já obrigado
Já achei exemplos no vb.net de edição e gravação mas de pesquisa e filtragem não! Alguem ai sabe como ou tem o link de um tuto!??
Desde já obrigado
Então Achei isso no msdn>
Private Sub Command1_Click()
[ô] Sequencia de Saida:
Dim strout As String
strout = [Ô][Ô]
[ô] Coloque um documento XML em uma instância do DOM.
Dim oXMLDom As New DOMDocument60
oXMLDom.async = False
oXMLDom.validateOnParse = False
oXMLDom.resolveExternals = False
oXMLDom.preserveWhiteSpace = True
If oXMLDom.Load(App.Path + [Ô]\stocks.xml[Ô]) = False Then
MsgBox [Ô]Failed to load xml data from file.[Ô]
Exit Sub
End If
[ô] Consulta de um único nó.
Dim oNode As IXMLDOMNode
Set oNode = oXMLDom.selectSingleNode([Ô]//stock[1]/*[Ô])
If oNode Is Nothing Then GoTo MoreNodes
strout = strout _
+ [Ô]Result from selectSingleNode[Ô] + vbNewLine _
+ [Ô]Node, <[Ô] + oNode.nodeName + [Ô]>: [Ô] + vbNewLine _
+ vbTab + oNode.xml + vbNewLine + vbNewLine
MoreNodes:
[ô] Consulta de um conjunto de nós.
Dim oNodes As IXMLDOMNodeList
Set oNodes = oXMLDom.selectNodes([Ô]//stock[[txt-color=#e80000]1[/txt-color]]/*[Ô]) ---------------[ô] Queria poder mudar esse [txt-color=#e80000]1[/txt-color] pelo conteudo de textbox1 mas não consiguo
strout = strout _
+ [Ô]Results from selectNodes:[Ô] + vbNewLine
For i = 0 To oNodes.length - 1
Set oNode = oNodes.nextNode
If Not (oNode Is Nothing) Then
sName = oNode.nodeName
sData = oNode.xml
strout = strout _
+ [Ô]Node ([Ô] + CStr(i) + [Ô]), <[Ô] + sName + [Ô]>:[Ô] _
+ vbNewLine + vbTab + sData + vbNewLine
End If
Next
MsgBox strout
End Sub
Private Sub Command1_Click()
[ô] Sequencia de Saida:
Dim strout As String
strout = [Ô][Ô]
[ô] Coloque um documento XML em uma instância do DOM.
Dim oXMLDom As New DOMDocument60
oXMLDom.async = False
oXMLDom.validateOnParse = False
oXMLDom.resolveExternals = False
oXMLDom.preserveWhiteSpace = True
If oXMLDom.Load(App.Path + [Ô]\stocks.xml[Ô]) = False Then
MsgBox [Ô]Failed to load xml data from file.[Ô]
Exit Sub
End If
[ô] Consulta de um único nó.
Dim oNode As IXMLDOMNode
Set oNode = oXMLDom.selectSingleNode([Ô]//stock[1]/*[Ô])
If oNode Is Nothing Then GoTo MoreNodes
strout = strout _
+ [Ô]Result from selectSingleNode[Ô] + vbNewLine _
+ [Ô]Node, <[Ô] + oNode.nodeName + [Ô]>: [Ô] + vbNewLine _
+ vbTab + oNode.xml + vbNewLine + vbNewLine
MoreNodes:
[ô] Consulta de um conjunto de nós.
Dim oNodes As IXMLDOMNodeList
Set oNodes = oXMLDom.selectNodes([Ô]//stock[[txt-color=#e80000]1[/txt-color]]/*[Ô]) ---------------[ô] Queria poder mudar esse [txt-color=#e80000]1[/txt-color] pelo conteudo de textbox1 mas não consiguo
strout = strout _
+ [Ô]Results from selectNodes:[Ô] + vbNewLine
For i = 0 To oNodes.length - 1
Set oNode = oNodes.nextNode
If Not (oNode Is Nothing) Then
sName = oNode.nodeName
sData = oNode.xml
strout = strout _
+ [Ô]Node ([Ô] + CStr(i) + [Ô]), <[Ô] + sName + [Ô]>:[Ô] _
+ vbNewLine + vbTab + sData + vbNewLine
End If
Next
MsgBox strout
End Sub
Não ele volta caractere não esperado...
To mandando ai o projeto que consiste em textbox e um botão para realizar a consulta...
O que queria no codigo é mudar estas partes: ([Ô]//stock[txt-color=#e80000][1][/txt-color]/*[Ô]) pelo que escrevo no textbox...
Desde já obrigado
To mandando ai o projeto que consiste em textbox e um botão para realizar a consulta...
O que queria no codigo é mudar estas partes: ([Ô]//stock[txt-color=#e80000][1][/txt-color]/*[Ô]) pelo que escrevo no textbox...
Desde já obrigado
Tópico encerrado , respostas não são mais permitidas