parser un fichier xml complexe.
Bonjour;
J'ai la méthode suivante pour récupérer la valeur d'un attribut particulier selon son chemin dans l'arborescence:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| public static ArrayList SearchXPathNavAttribute(string xPathString, string attribute)
{
// Initilisation des variables
XPathDocument xpathDoc;
XPathNavigator xpathNavigator;
XPathNodeIterator xpathNodeIterator;
XPathExpression expr;
ArrayList listOfAttributes = new ArrayList();
// Parcours du fichier XML
try
{
xpathDoc = new XPathDocument(XMLFilePath);
xpathNavigator = xpathDoc.CreateNavigator();
expr = xpathNavigator.Compile(xPathString);
xpathNodeIterator = xpathNavigator.Select(expr);
while (xpathNodeIterator.MoveNext())
{
// On récupère l'attribut
listOfAttributes.Add(xpathNodeIterator.Current.GetAttribute(attribute, ""));
}
}
catch (Exception e)
{
System.Console.WriteLine(e);
}
return listOfAttributes;
} |
Mon problème est que pour les fichiers xml complexe (avec des namespaces par exemple ou plusieurs balises au même niveau) cette methode ne me retourne rien.
Dois-je ajouter une instruction pour ignorer les namespaces de mes fichier xml?