XML ドキュメントは、データを階層的な構造で表現するための一般的な形式です。LINQ (Language Integrated Query) は、.NET フレームワークの一部であり、XML ドキュメント内のデータを簡単に抽出およびクエリするための強力な手法を提供します。
以下に、LINQ を使用して XML ドキュメントからデータを抽出し、分析するいくつかの方法とコード例を示します。
- 要素の抽出: XML ドキュメントから特定の要素を抽出するには、LINQ to XML を使用します。以下のコード例では、特定の要素名で要素を検索し、その内容を表示しています。
XDocument doc = XDocument.Load("example.xml");
var elements = doc.Descendants("要素名");
foreach (var element in elements)
{
Console.WriteLine(element.Value);
}
- 条件に基づくフィルタリング: LINQ の強力な機能の一つは、条件に基づいてデータをフィルタリングすることです。以下のコード例では、特定の条件を持つ要素のみを抽出しています。
XDocument doc = XDocument.Load("example.xml");
var filteredElements = doc.Descendants("要素名").Where(e => (string)e.Attribute("属性名") == "値");
foreach (var element in filteredElements)
{
Console.WriteLine(element.Value);
}
- グループ化と集計: XML ドキュメント内のデータをグループ化し、集計することも可能です。以下のコード例では、特定の要素をグループ化し、その要素の数を集計しています。
XDocument doc = XDocument.Load("example.xml");
var groupedElements = doc.Descendants("要素名")
.GroupBy(e => (string)e.Element("グループ化する要素名"))
.Select(g => new
{
Key = g.Key,
Count = g.Count()
});
foreach (var group in groupedElements)
{
Console.WriteLine($"要素: {group.Key}, 数: {group.Count}");
}
これらは、LINQ を使用した XML クエリの基本的な例です。実際の使用に応じて、さまざまなクエリ演算子やテクニックを組み合わせることで、さまざまなデータ分析タスクを実行できます。