C# .NET LINQ2XML解析XML并获取具有指定名称的所有节点

C# .NET LINQ2XML解析XML并获取具有指定名称的所有节点,c#,asp.net,xml,linq,linq-to-xml,C#,Asp.net,Xml,Linq,Linq To Xml,在使用了其他一些解析XML的方法后,我尝试迁移到使用Linq2XML,如以下所示: string xml = "//some xml file here"; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); for (int i = 0; i < doc.GetElementsByTagName("Title").Count; i++) { // get all elements values that have t

在使用了其他一些解析XML的方法后,我尝试迁移到使用Linq2XML,如以下所示:

 string xml = "//some xml file here";
 XmlDocument doc = new XmlDocument();
 doc.LoadXml(xml);
 for (int i = 0; i < doc.GetElementsByTagName("Title").Count; i++)
 {
  // get all elements values that have this tag name
 }
string xml=“//此处有一些xml文件”;
XmlDocument doc=新的XmlDocument();
doc.LoadXml(xml);
对于(int i=0;i
现在我想将其转换为LINQ2XML,并基本上针对这个测试XML文件编写一个查询

有人能帮我吗?我是否必须将其存储到标题数组或类似的内容中?

您可以使用(或在根元素上):

请注意,如果要通过在
foreach
循环中添加或删除元素来修改文档,则需要按如下方式快照列表:

foreach (var element in doc.Descendants("Title").ToList())
{
    // element is an element with the name "Title" -- process it however
    // you want.
}
最后,如果要查找仅具有特定且忽略命名空间的元素,可以执行以下操作:

foreach (var element in doc.Descendants().Where(e => e.Name.LocalName == "Title"))
{
    // element is an element with the local name "Title" -- process it however
    // you want.
}
您可以使用(或在根元素上):

请注意,如果要通过在
foreach
循环中添加或删除元素来修改文档,则需要按如下方式快照列表:

foreach (var element in doc.Descendants("Title").ToList())
{
    // element is an element with the name "Title" -- process it however
    // you want.
}
最后,如果要查找仅具有特定且忽略命名空间的元素,可以执行以下操作:

foreach (var element in doc.Descendants().Where(e => e.Name.LocalName == "Title"))
{
    // element is an element with the local name "Title" -- process it however
    // you want.
}

你可以用这个。示例代码包含一个LINQ查询<代码>加载(文本阅读器)
您的文件,然后查询。您可以使用@dbc,然后是什么?我真的可以举个例子,因为我对LINQ2Xml完全不熟悉。你的问题不包括你在查询
XmlDocument
后正在做什么,所以我真的不能说之后该做什么。你可以用这个。示例代码包含一个LINQ查询<代码>加载(文本阅读器)您的文件,然后查询。您可以使用@dbc,然后是什么?我真的可以用一个例子,因为我对LINQ2Xml完全不熟悉。你的问题不包括你在查询
XmlDocument
后正在做什么,所以我真的不能说在那之后该做什么。