読者です 読者をやめる 読者になる 読者になる

LINQ to XMLで編集したデータを保存する方法

VS2008

実はまともにLINQ to XMLを利用したのは今日が初めてだったりします。そして大いにハマりました。

  1. 抽出方法が良く分からん
  2. どうやって保存するん?

主にこの2点
とりあえず、色々調べて見るとLINQ to XMLの書き方自体LINQの中でも結構特別な印象を受けました。
MSDNが参考になりましたが、ITproの連載も中々素敵。

LINQ to XML
VS 2008で学ぶ「LINQ to XML」の基礎 - VS 2008で学ぶ「LINQ to XML」の基礎---目次:ITpro

抽出方法はITpro連載の方でふむふむ言いながら解決。

単純に抽出した方
        Dim xmlpath As String = "パス"
        Dim xmlEle As XElement = XElement.Load(xmlpath)

        Dim query = From xml In xmldoc.Elements("Member") _
                    Where xml.Element("group").Value = "A" _
                    Select xml
ノードまで指定する方
        Dim nextgroup = From xml In xmldoc.Elements("Next").<group> _
                        Select xml

("Next").この書き方が結構驚いた。
保存方法はもっと簡単でした。

        xmldoc.Elements("Next").<group>.Value = ngroup
        xmldoc.Save(xmlpath)

値を設定して、Save(パス)メソッドをよんであげるだけ。へ〜。なんか今まで利用してきたLINQと色々違って面白かったです。