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 に答える