[ASP.net]XML操作相關

來源:互聯網
上載者:User
以前寫過一個操作XML的相關類。其中有一段是讀取節點值的。

下面代碼:
        public DataView GetData(string XmlPathNode)

        {

            //Get XML Date,return DataView

            try

            {

                StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);

                ds.ReadXml(read);

            }

            catch

            {

                objError.ProgramError();

            }

            if ( ds.Tables.Count == 0 )

            {

                return new DataView();

            }

            return ds.Tables[0].DefaultView;

        }

此方法是讀取XML數據中指定節點及值。後來在一位朋友改寫了下代碼:
        public DataView GetData(string XmlPathNode)

        {

            //Get XML Date,return DataView

            try

            {

//                System.IO.StringReader read = new System.IO.StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);

                XmlNodeList xnl = objXmlDoc.GetElementsByTagName(XmlPathNode);

                System.Text.StringBuilder strXml = new System.Text.StringBuilder();

                strXml.Append( "<?xml version='1.0' ?><root>" );

                for (int i=0; i<xnl.Count; i++)

                {

                    strXml.Append( xnl[i].OuterXml );

                }

                strXml.Append( "</root>" );

                System.IO.StringReader read = new System.IO.StringReader( strXml.ToString() );

                ds.ReadXml(read);

            }

            catch

            {

                //

            }

            return ds.Tables[0].DefaultView;

        }

此方法是讀取所有XmlPathNode節點及值,重建一個XML,返回DataView。

兩方法的區別在於:前者讀取指定節點,後者是讀所有節點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.