我有这样的XML:
<album>
<image size="small">http://exaplem/example.jpg</image>
<image size="medium">http://exaplem/example.jpg</image>
<image size="large"> http://userserve-ak.last.fm/serve/174s/42566323.png </image>
<image size="extralarge"> http://exaplem/example.jpg </image>
</album>
...我希望将<image size="large">...</image>
提取并保存为字符串。
我的目标是获取提取元素的子文本节点。例如http://userserve-ak.last.fm/serve/174s/42566323.png
。
我试过
XmlNodeList xnList = xml.SelectNodes("image[@size='large']");
foreach (XmlNode xn in xnList)
{
.....
}
......但我迷路了。
做我需要做的最好的方法是什么?
答案 0 :(得分:2)
最好使用LINQ 2 XML:
假设您有以下xml文档:
</album>
<image size="small">http://exaplem/example.jpg</image>
<image size="medium">http://exaplem/example.jpg</image>
<image size="large"> http://userserve-ak.last.fm/serve/174s/42566323.png </image>
<image size="extralarge"> http://exaplem/example.jpg </image>
</album>
尝试这样的事情:
var doc = XDocument.Parse(yourDocumentString);
var largeImageUrl = doc.Root.Elements("image").Single(image => image.Attribute("size").Value == "large").Value;