XDocument 查找其他节点值等于我的搜索的节点值

XDocument find node value where other node value equals my search

我不知道如何遍历 XML 文档来查找属于某个项目的节点值,该项目在另一个节点中具有特定值。让我解释得更清楚...

这是我的 XML:

<Items>
   <Item>
      <Id>id 1</Id>
      <Item>item 1</Item>
      <LastModified>2016-01-01</LastModified>
   </Item>
   <Item>
      <Id>id 2</Id>
      <Item>item 2</Item>
      <LastModified>2016-02-02</LastModified>
   </Item>
</Item>

我想找到 <LastModified> 的值,其中 <Id> = id 2 以便我得到以下日期:2016-02-02。 非常感谢使用 XDocument 的 C# 解决方案。 提前致谢!

您需要找到包含您的值的 IdItem 元素,然后获取其 LastModified 元素:

var lastModified = (DateTime) doc.Descendants("Item")
    .Where(x => (string) x.Element("Id") == "id 2")
    .Elements("LastModified")
    .Single();

有关工作示例,请参阅 this fiddle