LER XML

VAMLA 25/05/2015 16:07:01
#446996
Boa tarde amigos.
Preciso montar uma rotina para ler um arquivo xml.
Montei a rotina assim:
If (node.HasChildNodes) Then
Dim nodeList As Xml.XmlNodeList = node.SelectNodes([Ô]TOTALPRICES[Ô])
Dim xn As Xml.XmlNode
For Each xn In nodeList
vValor_Custo_Promob = CDbl(xn.Attributes([Ô]TABLE[Ô]).Value / 100)
[ô]TXT_VALOR_UNITARIO.Text = CDbl(xn.Attributes([Ô]VALUE[Ô]).Value)
Next
End If

Acontece que ele lê certo o valor que preciso que esta no modelo abaixo:
<TOTALPRICES TABLE=[Ô]2750.56[Ô]>
<MARGINS>
<ORDER VALUE=[Ô]1924.28[Ô]>
<MARGIN DESCRIPTION=[Ô]Desconto 1[Ô] VALUE=[Ô]-950.35[Ô] ID=[Ô]desc_1[Ô]/>
<MARGIN DESCRIPTION=[Ô]Desconto 2[Ô] VALUE=[Ô]-89.94[Ô] ID=[Ô]desc_2[Ô]/>
<MARGIN DESCRIPTION=[Ô]Desconto 3[Ô] VALUE=[Ô]-51.23[Ô] ID=[Ô]desc_3[Ô]/>
<MARGIN DESCRIPTION=[Ô]Desconto 4[Ô] VALUE=[Ô]0[Ô] ID=[Ô]desc_4[Ô]/>
<MARGIN DESCRIPTION=[Ô]Acréscimo Financeiro[Ô] VALUE=[Ô]0[Ô] ID=[Ô]acr_1[Ô]/>
<MARGIN DESCRIPTION=[Ô]IPI - Geral[Ô] VALUE=[Ô]23.05[Ô] ID=[Ô]IPI[Ô]/>
<MARGIN DESCRIPTION=[Ô]IPI[Ô] VALUE=[Ô]242.38[Ô] ID=[Ô]IPI[Ô]/>
</ORDER>

Acontece que agora preciso deste campo
<ORDER VALUE=[Ô]1924.28[Ô]>
e não estou conseguindo montar.
Alguem tem alguma sugestão?
Abraços e muito obrigado
ACCIOLLY 25/05/2015 16:24:34
#447000
Existem outras formas, uma delas é colocar todo seu xml em um dataset

https://msdn.microsoft.com/pt-br/library/fx29c3yd%28v=vs.110%29.aspx
KERPLUNK 25/05/2015 17:34:33
#447005
Porque você simplesmente não constrói a classe equivalente ao seu XML e desserializa? Existem até mesmo maneiras de construir a classe sem precisar digitar nada, o Visual Studio transforma o XML em classe, então você simplesmente desserializa. Essa ferramenta se chama XSD e funciona na linha de comando.
Faça seu login para responder