XMLをクラスに入れて扱いやすくしたかった。
LINQ to XML についての参考サイト
http://code.msdn.microsoft.com/windowsdesktop/22-LINQ-to-XML-XML-c2f6f04f
上のサイトのコード例を少し変えてクラスにぶち込むようにした。
こういうクラスを用意して
public class Person
{
public string ID { get; set; }
public string Name { get; set; }
}
XMLの要素をクラスにぶち込む
// XML文字列
string xmldoc =
@"<?xml version='1.0'?>
<names xmlns='http://www.piedey.co.jp/example/linqtoxml201003'>
<name id='M0001'>一郎</name>
<name id='M0002'>次郎</name>
<name id='F0001'>花子</name>
</names>
";
// XElementを取得. XElementにするとLINQで扱えるようになる
// (名前空間も System.Xml.Linq.XElement となってる)
var doc = XElement.Parse(xmldoc);
// 名前空間
XNamespace ex =
"http://www.piedey.co.jp/example/linqtoxml201003";
// LINQでクラスオブジェクトに入れる
IEnumerable<Person> persons =
from n in doc.Elements(ex + "name")
select new Person()
{
ID = n.Attribute("id").Value
,
Name = n.Value
};
XmlDocumentにして要素をくるくる回して解析してた事を考えると
超楽ちん!うっひょー!
0 件のコメント:
コメントを投稿