文章出處

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


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()