Текстовые значения интерпретируются XLinq, как XText. Таким образом, вы можете легко проверить, если узел типа XText или путем проверки NodeType см:
// get all text nodes
var textNodes = document.DescendantNodes()
.Where(x => x.NodeType == XmlNodeType.Text);
Однако, мне кажется, что вы только хотите, чтобы найти этот кусок текста, который, кажется, немного одинокую по имени textvalue. Нет реального способа признать эту действительную, но необычную вещь. Вы можете проверить, если родитель с именем «имя» или если сам TextNode в одиночку или не увидеть:
// get 'lost' textnodes
var lastTextNodes = document.DescendantNodes()
.Where(x => x.NodeType == XmlNodeType.Text)
.Where(x => x.Parent.Nodes().Count() > 1);
редактировать только один дополнительный комментарий, я вижу, что многие люди утверждают, что это XML является недействительным. Я не согласен с этим. Хотя его не очень, он по-прежнему действует в соответствии с моим знанием (и валидаторов)
@ Хасан Хан - Конечно, вы можете. Это называется модель смешанного контента. Вышеупомянутый XML хорошо сформирован. –
@DevNull Я стою исправлено. Это действительно xml. http://www.w3schools.com/schema/schema_complex_mixed.asp –