2010-03-01 11 views
0

J'essaie d'analyser une paire d'attributs/valeurs particulière à partir de XML dans VB.NET. Le XML est à l'origine une chaîne qui ressemble à du XML mais qui doit être convertie en un type ou une structure de type XML avant de pouvoir l'analyser.Analyser une chaîne XML dans VB.NET

Comment puis-je convertir cette chaîne en XML, puis analyser les informations dont j'ai besoin?

EDIT:

Dim doc As XDocument = XDocument.Parse(str) obtient la chaîne en xml, mais Call doc.attribute("name").Value ne fonctionne pas. J'ai confirmé que le nom du Sub que j'essaie d'appeler est correct. Qu'est-ce que je fais mal?

J'ai essayé de convertir la valeur du XML en une chaîne de caractères. Est-ce ici un type de données spécial pour Subs? Est-ce que je manque quelque chose d'autre?

Édition2 La valeur de l'attribut XML est le nom d'une fonction. Je voudrais appeler différentes fonctions basées sur la valeur de la valeur, qui sera modifiée par moi via un contrôle flash activex. J'ai à peu près le contrôle total sur les valeurs auxquelles je suis confronté ici.

(Ai-je besoin d'une fonction de délégué?)

Edit3:

Je l'ai. 'CallByName()' avec les arguments appropriés.

+0

Il n'y a pas de 'type de données XML 'dans .NET. Pouvez-vous être un peu plus précis? Donnez un exemple de l'aspect du XML et de l'attribut/valeur que vous souhaitez en obtenir. Aussi pourquoi est-ce marqué avec 'flash',' axshockwaveflash' et 'call'? –

+0

@Darin - le XML provient d'un contrôle axshockwaveflash. – Moshe

Répondre

2
Dim doc As XDocument = XDocument.Parse(str) 
+0

Cela m'obtient la chaîne XML dans un objet XML. Je ne peux toujours pas appeler la fonction ... C'est un début cependant. – Moshe

2

De quelle fonction parlez-vous? "Valeur"? Ce n'est pas une fonction. C'est une propriété.

Dim val As Object = doc.Attribute("name").Value 
+0

Et comment puis-je appeler la fonction dont le nom est stocké dans val? – Moshe

+0

@Moshe: vous n'avez jamais dit que vous avez le nom d'une fonction stockée dans le XML. Je n'ai aucune idée de comment appeler une fonction dont le nom est stocké dans une chaîne, je sais seulement que c'est généralement une mauvaise idée de jouer à de tels jeux. –

+0

Voir les modifications. Merci quand même. +1 – Moshe

Questions connexes