は・じ・め・て・のLINQ TO XML。
で何か簡単なプログラムで頑張ってみる。
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<message id="1">
<msg>完了しました</msg>
</message>
<message id="2">
<msg>失敗しました</msg>
</message>
</Root>
こういうmsaage.xmlを準備。
で。
やんちゃなクラスですけど・・・。
public string GetMessage(int id)
{
string msg = string.Empty;
XDocument doc = XDocument.Load(dataPath + "message.xml");
var message = from c in doc.Element("Root")
.Elements("message")
where c.Attribute("id").Value == id.ToString()
select c;
foreach (XElement result in message)
{
msg = result.Value;
}
return msg;
}
で引数で指定されたidに対応するメッセージ(がんばれ画伯とか、すごいぞ画伯とか、素敵すぐる画伯とか)が出ます。
で。
これを拡張メソッドで書き直したいんですけどうまくいかない・・・。