- SqlConnection conn = new SqlConnection();
- conn.ConnectionString= System.Configuration.ConfigurationManager.ConnectionStrings["xml_connstring"].ToString();
- conn.Open();
- DataSet ds = new DataSet();
- DataTable dt = new DataTable();
- DataTable dt2 = new DataTable();
- string sql,sql2;
- sql="select orid,nums,price,khid,khxm from orders where 1=2";
- SqlDataAdapter da = new SqlDataAdapter(sql, conn);
- da.Fill(dt);
- sql2 = "select pro_id,pro_name,num,jiage from order_pro where 1=2";
- SqlDataAdapter da2 = new SqlDataAdapter(sql2, conn);
- da2.Fill(dt2);
- SqlCommandBuilder sbd = new SqlCommandBuilder(da);
- SqlCommandBuilder sbd2 = new SqlCommandBuilder(da2);
- XmlDocument xd = new XmlDocument();
- xd.Load(FileUpload1.PostedFile.FileName);
- XmlNodeList nodelist = xd.SelectSingleNode("root").ChildNodes;
- foreach (XmlNode xn in nodelist)
- {
- XmlNodeList nodelist1 = xn.ChildNodes;
- DataRow dr = dt.NewRow();
- for(int i=0;i<nodelist1.Count;i++)
- {
- XmlElement xe = (XmlElement)nodelist1[i];
- if (xe.Name == "pro")
- {
- XmlNodeList nodelist2 = xe.ChildNodes;
- DataRow dr2 = dt2.NewRow();
- foreach (XmlNode xn2 in nodelist2)
- {
- XmlElement xe2 = (XmlElement)xn2;
- dr2[xe2.Name] = xe2.InnerText;
- }
- dt2.Rows.Add(dr2);
- }
- else
- {
- dr[xe.Name] = xe.InnerText;
- }
- }
- dt.Rows.Add(dr);
- }
- GridView1.DataSource = dt.DefaultView;
- GridView1.DataBind();
- GridView2.DataSource = dt2.DefaultView;
- GridView2.DataBind();
- da.Update(dt);
- da2.Update(dt2);
- conn.Close();
- }
- <?xml version="1.0" encoding="utf-8" ?>
- <root>
- <ding>
- <orid>0001</orid>
- <nums>2</nums>
- <price>502</price>
- <pro>
- <pro_id>10001</pro_id>
- <pro_name>测试产品</pro_name>
- <num>1</num>
- <jiage>251</jiage>
- </pro>
- <pro>
- <pro_id>10001</pro_id>
- <pro_name>测试产品</pro_name>
- <num>1</num>
- <jiage>251</jiage>
- </pro>
- <khid>1002</khid>
- <khxm>测试</khxm>
- </ding>
- <ding>
- <orid>0001</orid>
- <nums>2</nums>
- <price>502</price>
- <pro>
- <pro_id>12546</pro_id>
- <pro_name>测试产品2</pro_name>
- <num>1</num>
- <jiage>251</jiage>
- </pro>
- <khid>1002</khid>
- <khxm>测试</khxm>
- </ding>
- </root>