おでんはじめました。

required ちくわぶ and 巾着,optional はんぺん.

LINQ to XMLが便利すぎてメモ

下記のsample.xmlに対して

<?xml version="1.0" encoding="UTF-8" ?>
<LIST>
  <文字 ID="00001">
    <UCS>4E00</UCS>
    <CID>1200</CID>
  </文字>
  <文字 ID="00002">
    <UCS>4E05</UCS>
    <CID>14297</CID>
  </文字>
</LIST>

<文字>のタグの一覧を取得する

XDocument xdoc = XDocument.Load("sample.xml");
//戻り値はIEnumerable<XElement>
var lst = from moji in xdoc.Descendants("文字")   
          select moji;
foreach (var/*XElement*/ elem in lst)
{
  Console.WriteLine("TAG NAME={0}", elem.Name); //文字
  var ucs = elem.Element("UCS");   //子供のUCSを取得
  Console.WriteLine("UCS={0}", ucs.Value/*タグに挟まれた文字列*/);
}

IDの一覧を取得する

XDocument xdoc = XDocument.Load("sample.xml");
//戻り値はIEnumerable<string>
var lst = from moji in xdoc.Descendants("文字")   
          select moji.Attribute("ID").Value;

foreach (var/*string*/ id in idlst)
{
  Console.WriteLine("ID={0}", id);
}

こんなに簡単だとプログラムの書き方を忘れる。