Lire le texte contenu à partir de XElement

.NET, comment lire le contenu du texte à partir d'un XElement?

Par exemple, à partir de la XElement

XElement.Parse("<tag>Alice &amp; Bob<other>cat</other></tag>")

Je voudrais la chaîne "Alice & Bob'


J'ai essayé element.Value mais cela revient 'Alice & chat sauvage' 🙁

Je suis assez sûr que c'est mal formé XML, qui est pourquoi vous êtes confronté à un problème. Les balises doivent contenir une valeur ou d'autres balises, pas les deux.
<p>Perfectly normal for that popular XML language called <b>HTML</b></p>
En fait, le HTML n'est pas XML et vice versa. Ils sont liés, certes, mais seulement XHTML est à la fois. en.wikipedia.org/wiki/XHTML. Si vous allez à l'analyse HTML, vous devez utiliser un analyseur HTML. Si vous êtes à l'analyse de XML, je pense toujours que c'est mal formé.
Je ne suis pas sûr si la norme a changé entre maintenant et puis, mais c'est bien formée en XML par la norme actuelle. Le tag nœud a deux nœuds enfants, un nœud de texte et un nœud d'élément. Le problème est plus compliqué avec les Dtd ou schémas, auquel cas il peut ne pas être possible de spécifier exactement ce type de format.

OriginalL'auteur Colonel Panic | 2012-10-15