作成したさまざまなXMLドキュメントをウォークするC#コードがあります。多くの場合、既知の子要素を取得する必要があります(それが唯一の子である場合もあれば、他の兄弟が存在する場合もあります)。親を指定すると、子の名前が子の要素を返す関数があります。
public static XmlElement GetChildElement(XmlElement parentElement, string childName)
{
return parentElement.GetElementsByTagName(childName).Cast<XmlElement>().FirstOrDefault();
}
これは問題なく動作しますが、先日、XPathまたはLINQtoXMLを使用してよりクリーンで簡単に実行できるかどうか疑問に思いました。私が見つけたXPathの例のほとんどは、ドキュメントの構造全体を知りたいようで、親と子だけを知っているジェネリック関数が必要です。Linq to XMLの方が有望なようですが、探しているものに一致する例は見つかりませんでした。