zoukankan      html  css  js  c++  java
  • 利用DataSet的ReadXml轻松读取XML文件及Stream流

            string strxml = "<xml><m><a>1</a><b>2</b></m><m><a>11</a><b>22</b></m><m><a>111</a><b>222</b></m></xml>";
            
            DataSet ds = new DataSet();
            Stream stream = new MemoryStream(Encoding.Default.GetBytes(strxml));
            ds.ReadXml(stream);
    
            GridView1.DataSource = ds;
            GridView1.DataBind();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataSet ds = new DataSet();
                TextReader reader = new StringReader(@"
                            <music>
                              <song>
                                <artist>The Chi-lites</artist>
                                <genre>Soul</genre>
                                <album>A lonely man</album>
                                <year>1972</year>
                              </song>
                              <song>
                                <artist>Babyface</artist>
                                <genre>R&B</genre>
                                <album>unknown</album>
                                <year></year>
                              </song>
                              <song>
                                <artist>Babyface</artist>
                                <genre>R&B</genre>
                                <album>The essential babyface</album>
                                <year>2001</year>
                              </song>
                              <song>
                                <artist>Babyface</artist>
                                <genre>R&B</genre>
                                <album>Grown and sexy</album>
                                <year>2005</year>
                              </song>
                              <song>
                                <artist>Maria Arredondo</artist>
                                <genre>Pop</genre>
                                <album>Not going under</album>
                                <year>2004</year>
                              </song>
                              <song>
                                <artist>Leona Lewis</artist>
                                <genre>Pop</genre>
                                <album>Unknown</album>
                                <year>2008</year>
                              </song>
                              <song>
                                <artist>Usher</artist>
                                <genre>R&B</genre>
                                <album>Usher</album>
                                <year>2008</year>
                              </song>
                              <song>
                                <artist>Christina Aguilera</artist>
                                <genre>Blues</genre>
                                <album>Back to basics</album>
                                <year>2004</year>
                              </song>
                              <song>
                                <artist>Sting</artist>
                                <genre>Pop</genre>
                                <album>Shape of my heart</album>
                                <year></year>
                              </song>
                            </music>
                            ");
                //读取Xml字符串 用来接收WebService返回数据
                ds.ReadXml(reader, XmlReadMode.Auto);
    
                //生成Xml文件
                //ds.WriteXml(Server.MapPath("xml/song_bak.xml"));
                GridView1.DataSource = ds;
                GridView1.DataBind();
            }
        }
        #region 接口返回的Xml转换成DataSet
        /// <summary>
        /// 返回的Xml转换成DataSet
        /// </summary>
        /// <param name="text">Xml字符</param>
        /// <returns></returns>
        private DataSet GetDataSet(string text)
        {
            try
            {
                XmlTextReader reader = new XmlTextReader(new StringReader(text));
                reader.WhitespaceHandling = WhitespaceHandling.None;
                DataSet ds = new DataSet();
                ds.ReadXml(reader);
                reader.Close();
                ds.Dispose();
                return ds;
            }
            catch
            {
                return null;
            }
        }
        #endregion
    
    
        #region 后台提交数据且获取接口返回的数据
        /// <summary>  
        /// 后台提交数据且获取接口返回的数据 
        /// </summary>  
        /// <param name="relativePath">地址</param>  
        /// <returns></returns>  
        public static string GetRequestString(string relativePath)
        {
            string requestUrl = relativePath;
            try
            {
                // 创建一个HTTP请求
                HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(requestUrl);
                request.Method = "GET";
    
                StreamReader jsonStream = new StreamReader(request.GetResponse().GetResponseStream());
                string jsonObject = jsonStream.ReadToEnd();
    
                return jsonObject;
            }
            catch
            {
                return string.Empty;
            }
        }
        #endregion  

  • 相关阅读:
    深拷贝与浅拷贝+可变与不可变的数据类型
    列表+列表循环+列表切片+元祖
    接口+session与cookie的区别+http状态码
    JSP中文乱码问题终极解决方案
    关于AS使用git的那些奇葩事儿
    ListView中动态显示隐藏HeaderView和FooterView
    关于沉浸式的那些奇葩问题
    Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析
    快速搭建tab
    使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234301.html
Copyright © 2011-2022 走看看