使用C#获取XML命名空间元素

我在使用命名空间解析xml文件时遇到了一些麻烦
XML格式

   <fh:FlightHistory FlightHistoryId="271955988" DepartureDate="2012-08-16 00:30" ArrivalDate="2012-08-16 04:09"    

我想用C#读取fh:FlightHistory属性,但我找不到任何解决方案。

提前致谢

您可以使用Linq-to-XMLLinq本身

  XDocument doc = XDocument.Load(@"file.xml"); XNamespace ns="http://rss.flightstats.com/ns/rss/1.0"; var flight = doc.Descendants(ns + "FlightHistory"); foreach (var ele in flight) { Console.WriteLine(ele.Attribute("FlightHistoryId").Value); } 

要么

  var flight = doc.Descendants(ns + "FlightHistory") .Select(ele => new { FlightHistoryId=ele.Attribute("FlightHistoryId").Value, DepartureDate=ele.Attribute("DepartureDate").Value, ArrivalDate=ele.Attribute("ArrivalDate").Value }).FirstOrDefault(); if (flight != null) { Console.WriteLine(flight.FlightHistoryId + " " + flight.DepartureDate + " " + flight.ArrivalDate); } 

这是正则表达式中的一个

 string xmlFileString=""; Regex r=new Regex("(?<=|)",RegexOptions.Singleline); foreach(Match m in r.Matches(xmlFileString)) Console.WriteLine(m.Value);//your required output