热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> .Net编程>>正文内容

C#之读取web上的xml(附实例源码)

发布时间:2009年08月02日点击数: 未知

一、使用LINQ读取(实例源码下载)
使用Xdocument上的Load方法,可以快速的加载一个XML文档,然后使用LINQ对 加载XML文档进行查询或其他操作,这里仅简单偏历。所以,一旦查询一组元素有返回元素集,就可以使用一个简单的foreach循环访问每一个元素。核心代码如下:

///
    /// 使用LINQ读取web上的xml
    ///
    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}", elementInfo.ElementName, elementInfo.ElementValue));
        }

    }

 


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

///
    /// 使用XmlReader构造函数
    ///
    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} ", read.Name));
                        break;
                    case XmlNodeType.Text:
                        HttpContext.Current.Response.Write(string.Format("ElementValue->{0}", read.Value));
                        break;
                    case XmlNodeType.CDATA:
                        HttpContext.Current.Response.Write(string.Format("ElementValue->{0}", read.Value));
                        break;
                        //other
                }

            }

        }

    }
 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作