使用LINQ to XML查询子节点内部XML的方法

3

假设我有这个xml:

<items>
  <item name="thumb">
    <downloadStream>test1</downloadStream>
    <downloadStream>test2</downloadStream>
    <downloadStream>test3</downloadStream>
  </item>
  <item name="photo">
    <downloadStream>test5</downloadStream>
    <downloadStream>test6</downloadStream>
    <downloadStream>test7</downloadStream>
  </item>
</items>

我想要写一个LINQ to XML语句,返回以下结果: {"test5", "test6", "test7"}。换句话说,它会返回每个“downloadStream”节点的内部xml,其中父节点具有(name="photo")的属性。如何实现呢?请看下文。
1个回答

8

类似这样:

            var rootElement = XElement.Parse(xml);
            var results = rootElement.
               .Elements()
               .Where( e => e.Attribute("name") == "photo" )
               .SelectMany( e => e.Elements )
               .Select( e => e.Value );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接