Problème d'espace de noms XML
Cette section décrit un problème pouvant survenir lors de l'utilisation d'expressions XPath avec des documents XML contenant des espaces de noms.
Pour plus d'informations concernant les espaces de noms, consultez XML namespace (en anglais) et Namespaces in XML (en anglais).
Description
Actuellement, les expressions XPath fonctionnent comme attendu lorsque le document XML ne contient pas d'espace de noms. Cependant, si un document contient des espaces de noms, y compris des espaces de noms par défaut, les expressions XPath peuvent retourner des résultats inattendus.
Par exemple, avec le document XML ci-dessous, les expressions /a, //c et //c/@name retournent un tableau vide :
<a xmlns="http://www.w3.org/2000/example">
<b>
<c name="name1"/>
</b>
</a>
Solution de contournement
Pour éviter ce problème, vous pouvez utiliser une expression XPath récupérant un mot-clé par son nom, ce qui vous permet d'ignorer l'espace de noms. Pour les exemples ci-dessus, vous pouvez utiliser /*[name()='a'], //*[name()='c'] et //*[name()='c']/@name.