XML与dataset里相互读取操作

 从一个XML里读出来数据,然后更改后在写进另一个XML

public void newXml()
        {
            DataTable dt = new DataTable();
            dt = CommerCityMessageBLL.getThisCommerCityMessage(Convert.ToInt32(Request.QueryString["CommerCityID"].ToString().Trim()));
            if (dt.Rows.Count > 0)
            {
                string path2 = "";
                string path1 = "";
                path2 = Server.MapPath("http://www.cnblogs.com/xml/shopCityXml/" + Request.QueryString["CommerCityID"].ToString().Trim() + "shopCity.xml");

                if (!System.IO.File.Exists(path2))
                {
                    FileStream stream;
                    stream = System.IO.File.Create(path2);
                    stream.Close();
                    DataSet xmlDS1 = new DataSet();
                    XmlTextReader reader = null;
                    if (dt.Rows[0]["CommerCityType"].ToString().Trim() == "superMarket")
                    {
                        path1 = Server.MapPath("http://www.cnblogs.com/xml/superMarket.xml");
                    }
                    else
                    {
                        path1 = Server.MapPath("http://www.cnblogs.com/xml/Alliance.xml");
                    }

                    //从XML里读入数据到数据集
                    reader = new XmlTextReader(path1);
                    xmlDS1 = new DataSet();
                    xmlDS1.ReadXml(reader);
                    XmlTextWriter writer = new XmlTextWriter(path2, Encoding.UTF8);
                    //开始写
                    writer.WriteStartDocument();
                    writer.WriteStartElement("adXMLPath");

                    for (int a = 0; a < xmlDS1.Tables[0].Rows.Count; a++)
                    {
                        writer.WriteStartElement("adItem");
                        writer.WriteElementString("ID", xmlDS1.Tables[0].Rows[a]["ID"].ToString());
                        writer.WriteElementString("type", xmlDS1.Tables[0].Rows[a]["type"].ToString());
                        writer.WriteElementString("title", xmlDS1.Tables[0].Rows[a]["title"].ToString());
                        writer.WriteStartElement("url");
                        writer.WriteCData(xmlDS1.Tables[0].Rows[a]["url"].ToString());
                        writer.WriteEndElement();
                        writer.WriteStartElement("imgUrl");
                        writer.WriteCData(xmlDS1.Tables[0].Rows[a]["imgUrl"].ToString());
                        writer.WriteEndElement();
                        writer.WriteStartElement("directions");
                        writer.WriteCData(xmlDS1.Tables[0].Rows[a]["directions"].ToString());
                        writer.WriteEndElement();
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                    writer.Close();
                }
            }
        }


   本人博客的文章大部分来自网络转载,因为时间的关系,没有写明转载出处和作者。所以在些郑重的说明:文章只限交流,版权归作者。谢谢

原文地址:https://www.cnblogs.com/wzg0319/p/1398565.html