1、使用LINQ讀取
使用Xdocument上的Load方法,能夠快速的加載一個XML文檔,而後使用LINQ對 加載XML文檔進行查詢或其餘操做,這裏僅簡單偏歷。因此,一旦查詢一組元素有返回元素集,就能夠使用一個簡單的foreach循環訪問每個元素。核心代碼以下:html
/// <summary> /// 使用LINQ讀取web上的xml /// </summary> public static void UseLINQ() { string sURL = "http://localhost:9058/GameServerInfo/XMLFile.xml"; XDocument oXDoc = XDocument.Load(sURL); var qurey = from e in oXDoc.Descendants() where e.NodeType == XmlNodeType.Element select new { ElementName=e.Name.ToString(), ElementValue=e.Value }; foreach(var elementInfo in qurey) { HttpContext.Current.Response.Write(string.Format("ElementName->{0} ElementValue->{1}<br />", elementInfo.ElementName, elementInfo.ElementValue)); } }
2、使用XmlReader構造函數
固然還能夠經過使用帶有URL的XmlReader.Create方法來完成操做,它使用的是一個XmlUrlResolver類的一個實例檢測傳入的URL,而後打開一個通向由該URL表明的XML文檔流。爲了指定閱讀器上的設置,能夠使用另外一個Create的重載,它也經過一個XmlReaderSetting實例完成這一目的。代碼以下:web
/// <summary> /// 使用XmlReader構造函數 /// </summary> public static void UseXmlReader() { string sURL = "http://localhost:9058/GameServerInfo/XMLFile.xml"; using(XmlReader read=XmlReader.Create(sURL)) { while(read.Read()) { switch (read.NodeType) { case XmlNodeType.Element: HttpContext.Current.Response.Write(string.Format("ElementName->{0} <br />", read.Name)); break; case XmlNodeType.Text: HttpContext.Current.Response.Write(string.Format("ElementValue->{0}<br />", read.Value)); break; case XmlNodeType.CDATA: HttpContext.Current.Response.Write(string.Format("ElementValue->{0}<br />", read.Value)); break; //other } } } }
3、實例代碼下載
代碼下載:函數
轉:http://www.cnblogs.com/tjdxlmy/archive/2009/08/01/1536574.htmlspa