C# 如何从非常通用的xml文档中提取信息?

C# 如何从非常通用的xml文档中提取信息?,c#,xml,visual-studio-2010,xmlreader,C#,Xml,Visual Studio 2010,Xmlreader,我的xml文档如下(但要大得多,与出生日期信息无关)。它是由一种方法生成的,我想从中获取信息 我想查找像John或Hannah这样的“名字”,并从下一行获取DOB,也许将它们放入字典中,以便以后查找 文档始终采用这种形式,并且名称是唯一的。我只需要第一部分的名称=“DOBs” 我知道我还有很多工作要做,但有时候你不得不咬紧牙关问。。。有人能帮忙吗? 检查上述样本 在导航器中尝试使用 .MoveFirstChild() method .MoveNext() method

我的xml文档如下(但要大得多,与出生日期信息无关)。它是由一种方法生成的,我想从中获取信息

我想查找像John或Hannah这样的“名字”,并从下一行获取DOB,也许将它们放入
字典中,以便以后查找

文档始终采用这种形式,并且名称是唯一的。我只需要第一部分的名称=“DOBs”

我知道我还有很多工作要做,但有时候你不得不咬紧牙关问。。。有人能帮忙吗?

检查上述样本

在导航器中尝试使用

      .MoveFirstChild() method
      .MoveNext() method
      .MoveToFirstAttribute() method
      .MoveToNextAttribute() method
      .Name property
      .Value property
不要忘记检查当前值是否为空

var list = XDocument.Load("C:\\test.xml")
            .Descendants("section")
            .Where(e => e.Attribute("name").Value.Equals("DOBs"))
            .Descendants("row")
            .Descendants("cell")
            .Attributes("value").ToList();

var dic = Enumerable.Range(0, list.Count/2)
    .ToDictionary(i => list[2*i], i => list[2*i + 1]);
检查上述样本

在导航器中尝试使用

      .MoveFirstChild() method
      .MoveNext() method
      .MoveToFirstAttribute() method
      .MoveToNextAttribute() method
      .Name property
      .Value property

别忘了检查当前的是不是空的

谢谢你的链接,它给了我这个…'myXml.subjects(“cell”)'。。。我想这可能有助于深入挖掘xml文档-我想我是在看顶层。感谢链接,它给了我这个…'myXml.subjects(“cell”)'。。。我想这可能有助于深入挖掘xml文档,我想我是在看顶层。我能问一下,如果我有另一个我不太关心的部分叫做“…”(对不起,我忘了这一点-它只有在你的代码工作得很好的时候才会出现!)@Sisyphus:你是什么意思,你能更新一下你的问题吗?谢谢@Cuong-编辑了我不需要的第二部分。我能问一下,如果我有另一个我不太关心的部分叫做“…”(对不起,我忘了-它只有在你的代码运行得很好的时候才出现!)Sisyphus:你是什么意思,你能更新一下你的问题吗?谢谢@Cuong-已经做了编辑,包括了我不需要的第二部分。
var list = XDocument.Load("C:\\test.xml")
            .Descendants("section")
            .Where(e => e.Attribute("name").Value.Equals("DOBs"))
            .Descendants("row")
            .Descendants("cell")
            .Attributes("value").ToList();

var dic = Enumerable.Range(0, list.Count/2)
    .ToDictionary(i => list[2*i], i => list[2*i + 1]);