J'ai un document XML que j'analyse et qui ne suit aucun type de schéma fixe. J'ai besoin d'analyser des valeurs en faisant quelque chose comme ceci:Analyse XML à tolérance de pannes
invoiceDetail.PartNO = invoiceLine.Element(ns + "Item").Element(ns + "ItemID").Element(ns + "ID").Value;
Dans cet exemple, invoiceLine est de type XElement. Le problème est que certains nœuds n'existent pas toujours et dans ce cas, je préférerais renvoyer une valeur nulle ou vide au lieu de renvoyer une erreur. Y at-il un moyen de le faire actuellement ou devrais-je simplement faire une fonction spéciale moi-même qui prend un espace de noms et une liste de noms d'éléments pour tenter d'analyser?
S'il ne suit aucune norme, il ne peut pas être XML (ce qui est un standard). – Oded
@Oded - Alors comment l'appelleriez-vous? Il suit la norme d'avoir des étiquettes de fermeture pour chaque étiquette d'ouverture. Le problème est, il réutilise les noms de balises à plusieurs niveaux et répète les balises avec des noms différents au même niveau. Il a aussi des étiquettes qui peuvent apparaître ou non dans différents documents du même type. –
Dire qu'il ne suit aucune norme mais que c'est XML est trompeur. Si c'est du XML bien formé, il est bien formé en XML et suit cette norme. Si vous voulez dire qu'il n'a pas de schéma fixe et qu'il ne peut pas être validé par rapport à un schéma, c'est différent. – Oded