STIRING ENTRE [ [TEXTO ] ] XML

RICOCARDOZO 02/06/2011 13:00:46
#375677
é o seguinte tenho um texto de xml queria percorrer todo ele linha por linha, ao localizar
as frases que estão entre colchetes inserir em um textbox.
[cdta[texto que esta escrito aqui]].

So me interessa o texto entre o segundo colchetes.
ASHKATCHUP 02/06/2011 13:23:45
#375679
Tem dois colchetes ai...
RICOCARDOZO 02/06/2011 13:36:55
#375680
Isto mesmo
eu recebo assim:
<title><![CDATA[Rússia proíbe produtos de 89 unidades de carnes do Brasil]]></title>

Quero só [Ô]Rússia proíbe produtos de 89 unidades de carnes do Brasil[Ô]
KERPLUNK 02/06/2011 13:54:44
#375683
é um documento XML, logo não deve ser tratado como texto e sim como XML mesmo, olha este artigo ele explica como isso funciona.
ASHKATCHUP 02/06/2011 14:09:00
#375686
@KERPLUNK: Da para tratar ele como string sim,

@RicardoCardozo: Eu faria mais ou menos assim:


Dim sTexto as String
dim sLinhaArq as String
[ô]
sLinhaArq = [Ô]<title><![CDATA[Rússia proíbe produtos de 89 unidades de carnes do Brasil]]></title>[Ô]
[ô]
sTexto = Split(sLinhaArq,[Ô][[Ô])(1)
[ô]
sTexto = Split(sTexto,[Ô][[Ô])(1)
[ô]
sTexto = Split(sTexto,[Ô]][Ô])(0)
[ô]
Msgbox sTexto
KERPLUNK 02/06/2011 14:26:21
#375688
Citação:

@KERPLUNK: Da para tratar ele como string sim,


Com certeza que dá! Mas vc usaria uma britadeira pra tirar cisco do olho? Ou uma marreta pra quebrar um ovo?
O que quero dizer, é que XML já é projetado pra ser mais do que simples texto, na verdade, em muitos casos pode ser usado como pequeno repositório de dados. Por isso, tratar como texto, além de perder a maior parte das funcionalidades, vai dificultar onde não é necessário.
Imagine que o XML dele possa conter um milhão de linhas e a linha que ele quer é justamente a última. Tratando como texto, até chegar onde se quer, pode demorar um pouco. Se tratar como XML mesmo, vc pode especificar exatamente o que quer dos dados. Além disso, CDATA, pode conter não somente texto, mas até mesmo dados binários como uma imagem, som, arquivo compactado... mais uma razão para tratar como XML e não texto.
ASHKATCHUP 02/06/2011 14:44:08
#375691
@KERPLUNK

Entendo o seu modo de pensar, mas, pelo que já vi, o Vb6 não da um suporte pleno ao XML... é meio... gambiarra... Prefiro os componentes do .NET.
Portanto, se o que o nosso colega precisa fazer for pequeno e simples, talvez nem valha a pena implementar a leitura de XML do modo correto. Claro, se for algo que necessitará de manutenção ou leitura avançada, considerando tipos de dados, como você exemplificou, recuso totalmente a possibilidade de ler linha por linha.

E sobre a tua brincadeira... Se um cara colocasse uma arma na tua cabeça, [Ô]quebra essa porra de ovo logo[Ô] e tu não tivesse tempo para fazer com calma, usaria a marreta sim
KERPLUNK 02/06/2011 15:18:02
#375696
Citação:

Se um cara colocasse uma arma na tua cabeça, [Ô]quebra essa porra de ovo logo[Ô] e tu não tivesse tempo para fazer com calma, usaria a marreta sim


Como dizia meu avô: O sujeito com a arma na mão, sempre tem razão!
MARCELO.TREZE 02/06/2011 18:16:11
#375721
Resposta escolhida
faz assim colega é simples

Dim sLinhaArq as String, Ini As Integer, Fim As Integer
sLinhaArq = [Ô]<title><![CDATA[Rússia proíbe produtos de 89 unidades de carnes do Brasil]]></title>[Ô]
Ini = InStr(1, sLinhaArq, [Ô]CDATA[[Ô]) + 1)
Fim = InStr(Ini, sLinhaArq, [Ô]]][Ô]) - 1)
Text1.Text = Mid(sLinhaArq,Ini,Fim)


ve ai se funciona

RICOCARDOZO 02/06/2011 23:35:18
#375749
Valeu Treze
deu certinho
Viu aproveitando a deixa
Estou usando o richtextbox com o texto abaixo

Noticias de ultima Hora :
Rússia proíbe produtos de 89 unidades de carnes do BrasilRússia proíbe produtos de 89 unidades de carnes do Brasil

Como que eu posso formata o titulo com fonte bold por exemplo:



MARCELO.TREZE 03/06/2011 11:44:55
#375777
vc pode usar este código na hora de i8nserir o texto


Private Sub FormataPalavra(Rich As RichTextBox, Palavra As String, Fonte As String, Tamanho As Integer, Negrito As Boolean, Italico As Boolean, Sublinhado As Boolean, Cor)

For i = 1 To Len(Rich.Text)
strWord = Mid(Rich.Text, i, Len(Palavra))
If strWord = Palavra Then
Rich.SetFocus
Rich.SelStart = i - 1
Rich.SelLength = Len(Palavra)
Rich.SelFontName = Fonte
Rich.SelFontSize = Tamanho
Rich.SelBold = Negrito
Rich.SelItalic = Italico
Rich.SelUnderline = Sublinhado
Rich.SelColor = Cor
End If
Next i

End Sub


Pra usar na hora que inserir o texto formate assim


Private Sub Command1_Click()
FormataPalavra RichTextbox1, [Ô]teste[Ô], [Ô]arial[Ô], 12, True, True, True, RGB(255, 0, 0)
End Sub

Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas