Itérer sur chaque XElement dans un XDocument

J'ai un fichier XML qui ressemble à ceci:

<myVal>One</myVal>
<myVal>Two</myVal>
<myVal>Three</myVal>
<myVal>Four</myVal>
<myVal>Five</myVal>

Je veux charger que dans un XDocument et puis itérer sur chaque XElement dans ce XDocument et de compter le nombre de caractères dans chaque élément.

Quelle est la meilleure façon de le faire?

Tout d'abord, j'ai remarqué que j'ai à ajouter un élément de racine ou XDocument.Parse() ne serait pas en mesure de l'analyser en tant que XML. J'ai donc ajouté:

<span>
        <myVal>One</myVal>
        <myVal>Two</myVal>
        <myVal>Three</myVal>
        <myVal>Four</myVal>
        <myVal>Five</myVal>
</span>

Mais quand je fais:

foreach (XElement el in xDoc.Descendants())

el contiendra l'ensemble de XML, en commençant par le premier <span>, y compris de chacun et de tous les <myVal>s puis se terminant par </span>.

Comment puis-je parcourir chacun des éléments XML (<myVal>One</myVal> etc) à l'aide de XDocument?

Je ne sais pas à l'avance ce que tous les éléments XML sera nommé, de sorte qu'ils ne seront pas toujours nommé "myVal".

OriginalL'auteur doosh | 2013-03-15