一、使用LINQ读取
使用Xdocument上的Load方法,可以快速的加载一个XML文档,然后使用LINQ对 加载XML文档进行查询或其他操作,这里仅简单偏历。所以,一旦查询一组元素有返回元素集,就可以使用一个简单的foreach循环访问每一个元素。核心代码如下:
/// <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 } } } }
三、实例代码下载
代码下载:
转:http://www.cnblogs.com/tjdxlmy/archive/2009/08/01/1536574.html
![]() |
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix