Afficher tout le texte d'un élément avec XmlReader C#

Je suis en utilisant un XmlReader pour itérer sur du XML. Certains de XML est en fait en HTML et je veux obtenir le contenu du texte à partir du nœud.

Exemple XML:

<?xml version="1.0" encoding="UTF-8"?>
<data>
  <p>Here is some <b>data</b></p>
</data>

Exemple de code:

using (XmlReader reader = new XmlReader(myUrl))
{
  while (reader.Read()) 
  {
    if (reader.Name == "p")
    { 
      //I want to get all the TEXT contents from the this node
      myVar = reader.Value;
    }
  }
}

Ce n'est pas moi tout le contenu. Comment puis-je obtenir tout le contenu de la

nœud dans cette situation?

L'exemple de XML n'est pas valide. Est le HTML codé correctement?
Il est valide pour moi.
J'étais sous l'impression XML ne doit pas contenir de texte à l'intérieur d'un élément qui contient également des nœuds. Il doit être un attribut, ou que le texte interne d'un enfant de moins de nœud.
Ok, mais c'est parfaitement légal.
Il est légal. Il est appelé "contenu mixte" en XML. w3schools.com/schema/schema_complex_mixed.asp

OriginalL'auteur ryanlifferth | 2011-06-02