与えられたコード:
var doc = new XmlDocument();
doc.LoadXml(@"<a>
<b>test
<c>test2</c>
</b>
</a>");
var node = doc.SelectNodes("/a/b")[0];
node b
次に、すべての子ノードからすべてのテキスト要素を取得せずに、-この場合は「test」の「text」値を抽出します(。のinnerText
ように)
私は自分がこのコードに頼っていることに気づきました
var elementText = node.ChildNodes.Cast<XmlNode>().First(a => a.NodeType == XmlNodeType.Text).Value;
残念ながらnode.Value
、この場合は他のことをします
linqキャスティングに頼らずにすっきりした/作り付けの方法はありますか?それは私が次のようなことをすることを含みません。
foreach (var childNode in node.ChildNodes)
if (childNode.NodeType==XmlNodeType.Text)
...