Je suis complètement Nouveau pour Linq2XML que je code beaucoup de lignes pour effectuer de simples choses, et dans un simple projet, j'ai voulu essayer...
Je suis avec cette pendant 2 heures et rien de ce que je ne get it right :(
Je suis vraiment, vraiment pensée pour revenir à XmlNode-code-alike
La Tâche:
- J'ai envoyer un SAVON Action à un ASMX service et je reçois la réponse au format XML
- Je Parse le XML dans un objet XDocument
- J'essaie d'obtenir une liste de nœuds ... euh! Problème!
comme vous pouvez le voir sur cette capture d'écran
mon XDocument a un Nœud appelé TransactionInformationType sorcière est une Séquence, et j'simple souhaitez obtenir tous et récupérer les 2 seules les variables dont j'ai besoin (vous pouvez voir le code en commentaire) juste en dessous de sélectionner c;
dans le de Regarder de la fenêtre, vous pouvez voir que
doc.Descendants("TransactionInformationType")
renvoie rien du tout, et de voir par le contenu de la XDocument dans le Texte Visualizer, il n'existe pas!
Quelqu'un veut bien expliquer et m'aider à passer ce mur ÉNORME?
Merci!!!!
Ajouté
Réponse
la Réponse XML a
<gettransactionlistResponse xmlns="https://ssl.ditonlinebetalingssystem.dk/remote/payment">
et je dois l'utiliser comme espace de Noms!
il s'avère que, pour récupérer des valeurs, j'ai besoin d' utiliser la XNamespace ainsi, de sorte que la version finale du code ressemble à ceci:
// Parse XML
XDocument doc = XDocument.Parse(strResponse);
XNamespace ns = "https://ssl.ditonlinebetalingssystem.dk/remote/payment";
var trans = from item in doc.Descendants(ns + "TransactionInformationType")
select new TransactionInformationType
{
capturedamount = Convert.ToInt32(item.Element(ns + "capturedamount").Value),
orderid = item.Element(ns + "cardtypeid").Value
};
Merci à vous tous pour l'aide!