asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法
来源: 阅读:846 次 日期:2016-08-05 15:40:55
温馨提示: 小编为您整理了“asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法”,方便广大网友查阅!

本文实例讲述了asp.net使用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

希望本文所述对大家asp.net程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map