J'ai un fichier xml qui contient son élément commeLe caractère « : », valeur hexadécimale 0x3A, ne peut pas être inclus dans un nom
<ab:test>Str</ab:test>
Quand je suis en train d'y accéder en utilisant le code:
XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault();
il me donne cette erreur:
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Xml.XmlException: The ':' character, hexadecimal value 0x3A, cannot be included in a name.
Comment dois-je accéder?
Vous avez certainement un moyen de gérer les espaces de noms afin que vous n'ayez pas à les mettre dans le nom (ou dans ce cas, vous ne pouvez pas). Vous devriez regarder dans cette direction. – p4bl0
Non seulement la spécification XML dit que ":" est [autorisé pour les noms] (http://www.w3.org/TR/REC-xml/#NT-NameStartChar) (et pour commencer les noms!), Mais le [Get method] (http://msdn.microsoft.com/en-us/library/bb357369.aspx) de XName ne documente pas qu'il lève XmlException! – yoozer8