2010-02-01 2 views
0

J'ai un fichier XML. Je suis incapable d'effectuer une requête XLINQ sur ce XML.Impossible de réaliser LINQ sur ce fichier XML

J'ai également utilisé LINQPad pour tester, mais il ne retourne aucun résultat.

Exemple de requête:

XDocument doc = XDocument.Load(@"G:\Plugins.xml"); 
var res = from plugin in doc.Descendants("Modules") 
      select plugin; 
res.Dump(); 

Et le fichier XML est:

<SolutionProfile xmlns="http://schemas.microsoft.com/pag/cab-profile"> 
    <Modules> 
     <ModuleInfo AssemblyFile="xxxx.dll" /> 
     <ModuleInfo AssemblyFile="xxxx.dll" /> 
     <ModuleInfo AssemblyFile="xxxx.dll" /> 
     <ModuleInfo AssemblyFile="xxxxx.dll" /> 
     <ModuleInfo AssemblyFile="xxxxx.dll" /> 

     <ModuleInfo AssemblyFile="xxxxxx.dll" /> 
    </Modules> 
</SolutionProfile> 

Ce fichier XML SCSF et CAB. Si je supprime la balise suivante de la requête XML fonctionne très bien.

<SolutionProfile xmlns="http://schemas.microsoft.com/pag/cab-profile"> 
</SolutionProfile> 
+1

duplication possible de [Ma requête linq ne fonctionne pas lors de l'ajout de l'attribut xmlns à l'élément racine dans mon document XML] (http://stackoverflow.com/questions/793580/my-linq-query -doesnt-travail-lors de l'ajout-l'-attribut-xmlns-à-l'-élément-racine-in) –

Répondre

0

Le problème n'est pas lié à vos balises SolutionProfile, mais plutôt à la présence de l'attribut xmlns.

Duplication d'une question SO existante. Regardez here pour la réponse exacte.

Oh, et vous aurez besoin d'un "/" supplémentaire à la fin de votre espace de noms si vous suivez la solution dans le lien.

+0

merci. problème résolu. c'était dû à xmlns – Mohsan