C# 如何使用xmlreader为特定节执行xmlparsing

C# 如何使用xmlreader为特定节执行xmlparsing,c#,asp.net,xmlreader,C#,Asp.net,Xmlreader,XML文件结构如下所示 <?xml version="1.0" encoding="UTF-8"?> <Application> <Tabs> <Tab name="1"> <title>abcd</title> <description>xyz</description>

XML文件结构如下所示

<?xml version="1.0" encoding="UTF-8"?>
    <Application>
          <Tabs>
             <Tab name="1">
               <title>abcd</title>
               <description>xyz</description>
             </Tab>
             <Tab name="2">
               <title>abcde</title>
               <description>xyzw</description>
             </Tab>
          </Tabs>
         <Files>
         </Files>
    </Application>

abcd
xyz
abcde
存取器

我只想在asp.net 2.0中使用XmlReader阅读选项卡部分。我感兴趣的值是标题和描述内容。总共有7个选项卡,以后也可以增加。因此,无法迭代值固定的计数变量

如果您可以使用
XPathDocument
,您可以尝试以下方法

注意:如果您已经有一个
XmlReader
实例,那么您可以使用构造函数重载,该重载接受
XmlReader

string xml = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<Application>
      <Tabs>
         <Tab name=""1"">
           <title>abcd</title>
           <description>xyz</description>
         </Tab>
         <Tab name=""2"">
           <title>abcd</title>
           <description>xyzw</description>
         </Tab>
      </Tabs>
     <Files>
     </Files>
</Application>";

string xpath = "/Application/Tabs/Tab/description";

XPathDocument doc = new XPathDocument(new StringReader(xml));
XPathNavigator nav = doc.CreateNavigator();
XPathNodeIterator nodeIterator = nav.Select(xpath);

foreach (XPathNavigator item in nodeIterator)
{
    Console.WriteLine(item.Value);
}
stringxml=@”
abcd
xyz
abcd
存取器
";
字符串xpath=“/Application/Tabs/Tab/description”;
XPathDocument doc=新的XPathDocument(新的StringReader(xml));
XPathNavigator nav=doc.CreateNavigator();
XPathNodeInterator NodeInterator=nav.Select(xpath);
foreach(节点编辑器中的XPathNavigator项)
{
Console.WriteLine(项值);
}

所有选项卡的属性
名称
的值都相同?不,谢谢您指出这一点
using (XmlReader reader = XmlReader.Create(inputUrl))
  {
    reader.MoveToContent();
    while (reader.Read())
    {
      if (reader.NodeType == XmlNodeType.Element)
      {
        if (reader.Name == elementName)
        {
          XElement el = XNode.ReadFrom(reader) as XElement;

          }
        }
      }
    }
  }
}