/// <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)); } }
二、使用XmlReader构造函数 当然还可以通过使用带有URL的XmlReader.Create方法来完成操作,它使用的是一个XmlUrlResolver类的一个实例检测传入的URL,然后打开一个通向由该URL代表的XML文档流。为了指定阅读器上的设置,可以使用另一个Create的重载,它也通过一个XmlReaderSetting实例完成这一目的。代码如下: /// <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 } } } }
三、实例代码下载 代码下载: