Самый простой способ, вероятно, состоит в том, чтобы выполнить итерации по всем прямым дочерним узлам узла (используя ChildNodes
) и проверить NodeType
каждого из них, чтобы определить, является ли он Text
или CDATA
. Не забывайте, что может быть несколько текстовых узлов.
foreach (XmlNode child in node.ChildNodes)
{
if (child.NodeType == XmlNodeType.Text ||
child.NodeType == XmlNodeType.CDATA)
{
string text = child.Value;
// Use the text
}
}
(Как и в случае с FYI, если вы можете использовать .NET 3.5, LINQ to XML будет лучше использовать лот .)