備忘録 SelectSingleNode
XML 内にコロン付きのタグ名 NameSpace(名前空間)があるとき、SelectSingleNode を使って情報を取る方法。(C#)
- 次のような XML 中の赤いところの値が欲しいとき
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:nicolive="[]http://live.nicovideo.jp/[]">
<channel>
<title>ニコニコ生放送</title>
<nicolive:total_count>254</nicolive:total_count>
</channel>
</rss>
- 次のように NameSpace を指定する必要がある
青色に着目。node.InnerText の値が上の 254 になる。
XmlDocument xml = new XmlDocument();
xml.Load(url);
XmlNamespaceManager nsm = new XmlNamespaceManager(xml.NameTable);
nsm.AddNamespace("nicolive", "[]http://live.nicovideo.jp/[]");
XmlNode node = xml.SelectSingleNode("/rss/channel/nicolive:total_count", nsm);
終わり