1

我有这样的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)
{
    .....
}

……但我迷路了。

做我需要做的最好的方法是什么?

4

1 回答 1

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;
于 2012-12-04T10:15:47.317 回答