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 回答