J'ai un fichier XML qui contient ses éléments comme
Str
Lorsque j'essaie d'y accéder en utilisant le code:
XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault();
Ça me donne cette erreur:
System.Web.Services.Protocols.SoapException: Le serveur n'a pas pu traiter la requête. ---> System.Xml.XmlException: Le caractère ':' , valeur hexadécimale 0x3A, ne peut pas être inclus dans un nom.
Comment devrais-je y accéder?
0 votes
Vous avez certainement une manière de gérer les espaces de noms afin de ne pas devoir (ou dans ce cas, ne pas pouvoir) les inclure dans le nom. Vous devriez vous pencher dans cette direction.
2 votes
Non seulement la spécification XML dit que ":" est autorisé pour les noms (et pour commencer les noms !), mais la méthode Get de XName ne documente pas qu'elle lance une XmlException !
0 votes
Voir aussi stackoverflow.com/questions/8324960/… pour la gestion correcte de l'espace de noms.