如何通过使用Linq到xml中的属性来获取元素值?

时间:2012-09-18 12:40:49

标签: linq linq-to-sql linq-to-xml

  

可能重复:
  LINQ to XML. How to get some string?

我的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>

现在,我如何获取SwatchImage元素的值(URL),如果类别名称是“Variant”?如果您需要更多,请告诉我   信息。

1 个答案:

答案 0 :(得分:1)

获取特定<ImageSet>节点的URL值应该相当简单,使用上面提到的链接中提供的代码示例:

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

string[] urls = xdoc
   .XPathSelectElements("//ImageSet[@Category='Variant']/SwatchImage/URL")
   .Select(n => n.Value)
   .ToArray();