2010-04-23 5 views
0

Dim myXDoc Comme XDocument = _ besoin moyen simple d'accéder à XML dans VB.Net - douleur avec Linq-to-Xml

Je veux y accéder dans un simple manière VB.Net - Comme:

Dim Entier SizeXStr = CInt (MyZDoc.Cameras (1) .Camera_Desc @ SizeX.) 'où (1) est un indice

Pourquoi cela n'est-il pas implémenté dans VB.Net? Mieux encore, tapez les valeurs avec un schéma et éliminer la conversion. Est-ce si difficile?

Comment accéder, de manière simple, aux données en XML - ce serait TRÈS TRÈS utile!

J'utilise la requête pour essayer d'obtenir les valeurs - quand j'utilise MsgBox() pour afficher les résultats , ils affichent, mais mon principal Windows Form est Trashed - changé de couleurs, etc. Le système a des bugs. Au lieu de cela, je dois créer une structure élaborée de tableaux d'objets et lire la ligne par ligne XML et faire la même chose pour sauvegarder - c'est l'âge des ténèbres.

Art

+0

À l'exception de 'Dim Entier SizeXStr' (qui devrait se lire' Dim SizeXStr Comme Integer') Votre code a l'air bien. Mais la réponse que vous cherchez pourrait être n'importe quoi - malgré votre longue description, je ne peux pas vraiment trouver comment vous aider. Avez-vous des problèmes avec la valeur de l'index? Utilisez-vous '.ToString' pour vos requêtes à afficher dans la MsgBox? Quel est exactement le problème ici? –

Répondre

1

Je ne suis pas sûr de votre problème mais il vous manque probablement un .ToString() là quelque part que MsgBox appelle implicitement pour vous. Tournez Option Explicit et Option Strict sur résoudre ces (et autres) problèmes. Quoi qu'il en soit donné la variable suivante (VB 2008):

Dim myXDoc = <cameras> 
        <camera> 
         <description SizeX="10"/> 
        </camera> 
        <camera> 
         <description SizeX="12"/> 
        </camera> 
       </cameras> 

Vous pouvez obtenir un entier en utilisant:

Dim SizeX = Integer.Parse(myXDoc.<camera>(0).<description>[email protected]) 
Questions connexes