[VB.NET] Linq to XML による XML の検索

2014年8月26日

 たとえば以下の xml ファイル (test.xml) があり、/root/node/leaf の内容を列挙したいと考えたとします。

<Root>
    <Node>
        <Leaf></Leaf>
        <Leaf></Leaf>
    </Node>
    <Node>
        <Leaf></Leaf>
        <Leaf></Leaf>
        <dummy>く</dummy>
        <Leaf></Leaf>
        <Leaf>
            <Leaf></Leaf>
            <Leaf></Leaf>
            <dummy></dummy>
            <Leaf></Leaf>
        </Leaf>
    </Node>
    <Node>
        <Leaf></Leaf>
    </Node>
    <Leaf></Leaf>
    <Leaf></Leaf>
</Root>

 Linq to XML を使用する場合、以下のように書けます。

Sub Main()
    Dim xdoc = XDocument.Load(".test.xml")

    Dim q = From x In xdoc.<Root>.<Node>
             Select x.<Leaf>

    For Each n In q
        Console.WriteLine("----- {0} 要素発見", n.Count)

        For Each m In n
            Console.WriteLine(m.Value)
        Next
    Next

End Sub

 結果は以下。/root/node/leaf のデータが拾えています。

----- 2 要素発見


----- 4 要素発見



さしすせ
----- 1 要素発見

続行するには何かキーを押してください . . .





カテゴリー: Program, VB.NET

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org