0

重複の可能性:
LINQ to XML。文字列を取得するには?

私のXML応答は次のようになります。

 <Items>
   <Item>
     <ImageSets>
       <ImageSet Category="Primary">
          <SwatchImage>
             <URL>http://xxx.com/img1.jpg</URL>
             <Height Units="pixels">30</Height>
           </SwatchImage>
           </ImageSet>

          <ImageSet Category="Variant">
           <SwatchImage>
             <URL>http://xxx.com/img2.jpg</URL>
             <Height Units="pixels">30</Height>
           </SwatchImage>
           </ImageSet>

          <ImageSet Category="Variant">
           <SwatchImage>
             <URL>http://xxx.com/img3.jpg</URL>
             <Height Units="pixels">30</Height>
           </SwatchImage>
          </ImageSet>

          </ImageSets>
          </Item>
          </Items>

さて、カテゴリ名が「Variant」の場合、SwatchImage要素の値(URL)を取得するにはどうすればよいでしょうか? さらに情報が必要な場合はお知らせください。

4

1 に答える 1

1

<ImageSet>上記のリンクで提供されているコード サンプルを使用すると、特定のノードの URL 値だけを取得するのは非常に簡単です。

XDocument xdoc = XDocument.Load("file.xml");

string[] urls = xdoc
   .XPathSelectElements("//ImageSet[@Category='Variant']/SwatchImage/URL")
   .Select(n => n.Value)
   .ToArray();
于 2012-09-18T14:22:34.937 に答える