一、使用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

C#之读取web上的xml的更多相关文章

  1. AS与.net的交互——加载web上的xml

    最近搞了个私活,需要用as去加载一个网站的xml,不过本人as也不咋滴,就去看看怎么玩,看完之后也蛮简单的. 由于业务上比较复杂,就随便说个小例子吧. 很多时候,为了页面区域更加灵活,生动,有吸引力, ...

  2. Java EE: XML Schemas for Java EE Deployment Descriptors(Java Web的web.xml头web-app标签上的XML模式)

    继上几篇文章 http://www.cnblogs.com/EasonJim/p/6221952.html http://www.cnblogs.com/EasonJim/p/6959120.html ...

  3. 前端之web上传文件的方式

    前端之web上传文件的方式 本节内容 web上传文件方式介绍 form上传文件 原生js实现ajax上传文件 jquery实现ajax上传文件 form+iframe构造请求上传文件 1. web上传 ...

  4. C#读取网络流,读取网络上的js文件

    写博客的目的就是让其他人少走弯路. C#读取网络上的流和js文件出现的问题 一开始看了今天博客园上的推荐文章,用C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),然 ...

  5. 第九篇:web之前端之web上传文件的方式

    前端之web上传文件的方式   前端之web上传文件的方式 本节内容 web上传文件方式介绍 form上传文件 原生js实现ajax上传文件 jquery实现ajax上传文件 form+iframe构 ...

  6. 译-Web Service剖析: XML, SOAP 和WSDL 用于独立于平台的数据交换

    本文是翻译内容,原文参见: Anatomy of a Web Service: XML, SOAP and WSDL for Platform-independent Data Exchange We ...

  7. iis设置默认文档,提示web.config配置xml格式不正确

    网站上传后,配置默认文档,提示web.config配置xml格式不正确,几经尝试,发现是sqlserver密码中的“&”符号惹的祸,web.config文件中不能使用该字符.分享出来,大家遇到 ...

  8. 雷林鹏分享:服务器上的 XML

    服务器上的 XML XML 文件是类似 HTML 文件的纯文本文件. XML 能够通过标准的 Web 服务器轻松地存储和生成. 在服务器上存储 XML 文件 XML 文件在 Internet 服务器上 ...

  9. poi 读取使用 Strict Open XML 保存的 excel 文档

    poi 读取使用 Strict Open XML 保存的 excel 文档 某项目有一个功能需要读取 excel 报表内容,使用poi读取时报错: 具体错误为: org.apache.poi.POIX ...

随机推荐

  1. C++进阶 面向对象基础(三)

    类的的定义: 初始化一般建议使用构造函数初始化列表形式: Person(const string nm, const string addr):name(nm), address(addr){} th ...

  2. aceAdmin fuelux tree 从后台获取数据,并设置节点ID等属性

    如题,从后台封装数据,有两种方式渲染节点的数据: 1.全部节点加载 2.根据父节点加载子节点 首先,先介绍下第一种渲染方式: 后台返回数据格式(所有的附加属性,都可放在additionalParame ...

  3. imageNamed、imageWithContentsOfFile、imageWithData

    [UIImage imageNamed:ImageName]; 1.加载图片占据的内存较大 2.相同的图片只会加载一份到内存中,如果同时使用,使用同一个对象即可 3.当对象销毁,图片对象不会随着一起销 ...

  4. 【洛谷P1378】油滴扩展

    搜索-- PS一个坑点:r<=0时并不是舍弃这种情况,而是让r=0 (因为每个点都要放一滴油)(读题啊!) #include<cstdio> #include<cstring& ...

  5. noip2010-t2

    题目大意:小明过生日的时候,爸爸送给他一副乌龟棋当作礼物.乌龟棋的棋盘是一行 N个格子,每个格子上一个分数(非负整数).棋盘第 1 格是唯一 的起点,第 N格是终点,游戏要求玩家控制一个乌龟棋子从起点 ...

  6. MySQL设置字符集CHARACTER SET

    本文地址:http://www.cnblogs.com/yhLinux/p/4036506.html 在 my.cnf 配置文件中设置相关选项,改变为相应的character set. 设置数据库编码 ...

  7. 《精通Matlab神经网络》例10-16的新写法

    <精通Matlab神经网络>书中示例10-16,在创建BP网络时,原来的写法是: net = newff(minmax(alphabet),[S1 S2],{'logsig' 'logsi ...

  8. 自然数的K次幂的数列求和

        ------------------------------------------------------------------------------- 转载请注明出处 博客园 刺猬的温 ...

  9. mono for android代码记录1 WebClient Post数据到Nopcommerce(post数据到MVC5)

    WebClient Post数据到Nopcommerce(post数据到MVC5) 注意事项 1.把[ValidateAntiForgeryToken]注释掉,以后再处理CSRF攻击.现在学习先不理 ...

  10. haskell中的do

    在haskell中,有一个do的语句专门用来做一些不那么“干净”的事情,比如读写都需要用do来开头 一开始以为do的作用是做monad,后来发现是错误的,其实do做的事情是包裹一个顺序操作 比如在如下 ...