2010-01-12 12 views
1

Comment puis-je résoudre l'exception générée?XmlException pour le caractère '/' La valeur hexadécimale 0x2F ne peut pas être incluse dans un nom

 public static string[] getKeywords(string filename) 
     { 
      var xmlFile = new XElement(filename); 
      string[] keywords = xmlFile.Elements("Keyword") 
             .Attributes("name") 
             .Select(n => n.Value).ToArray(); 
      return keywords; 
     } 

Cela génère cette exception:

System.Xml.XmlException était unhandled message = Le caractère '/', valeur hexadécimale 0x2F, ne peut pas être inclus dans un nom. Source = System.XML

+0

Quelque chose ne va pas avec votre fichier .xml –

+1

Wow ... les deux premières réponses des deux meilleurs utilisateurs! –

+0

nobugz, je ne pense pas qu'il y ait quelque chose qui cloche avec mon fichier xml. Je pensais que d'abord et regardait à travers et il n'y avait rien de mal. –

Répondre

5

new XElement(filename) signifie créer un élément avec le nom de filename - voulez-vous dire XElement.Load(filename) ??

2

Vous essayiez de charger le nom de fichier au format XML, d'où une exception. C'est ce que tu voulais;

public static string[] getKeywords(string filename) 
    { 
     var xmlFile = XElement.Load(filename); 
     string[] keywords = xmlFile.Elements("Keyword").Attributes("name").Select(n => n.Value).ToArray(); 
     return keywords; 
    } 

Utilisation de la méthode XElement.Load().

Questions connexes