Dans un projet sur lequel je travaille, je viens de terminer l'écriture d'un XSD pour mon XML afin que d'autres ingénieurs puissent travailler sur le XML plus facilement. Avec ce XSD sont venus les espaces de noms XML. Dans mon code d'analyse syntaxique actuel, je l'ai utilisé quelque chose comme ceci:Solution élégante pour analyser XElements dans un espace de noms
XElement element = xmlRoot.Element(XML.ELEMENT_NAME);
Avec XML étant une classe complète de constantes qui est utilisé tout au long du programme pour l'entrée et la sortie XML. Mais, maintenant que les espaces de noms sont utilisés, cela ne fonctionne plus. L'évidente, mais à peine élégante, la solution est d'aller et faire tout le look de code d'analyse syntaxique comme ceci:
XElement element = xmlRoot.Element(XML.NAMESPACE + XML.ELEMENT_NAME);
En pensant à plus, il ressemblerait beaucoup mieux de partir et de définir une méthode d'extension ajoutez dans cet espace de noms et renvoyez le XElement. Cette idée d'obtenir le code à la recherche quelque chose comme ceci:
XElement element = xmlRoot.GetMyElement(XML.ELEMENT_NAME);
Ces idées sont ce que je suis venu avec à ce jour pour traiter la question de l'espace de noms. Fondamentalement, ma question ici est la suivante:
Existe-t-il une meilleure méthode pour analyser XElements avec un espace de nom constant connu? Si oui, qu'est-ce que c'est?