zoukankan      html  css  js  c++  java
  • 为XMl文档添加子节点,依据淘宝

        protected void Page_Load(object sender, EventArgs e)
        {
            str_product();
        }
    
        conn co = new conn();
        public void str_product()
        {
            //用SQL语句查询数据并转换成XML文档,保存起来
            string str_pro = "select distinct(product_no),brand,product_type,product_class,price,price2,price4,memo from tbl_product_store where brand='KILLAH'";
            DataSet ds = co.storenumshop(str_pro );
            XmlDataDocument xmlDoc = new XmlDataDocument(ds);            
            xmlDoc.Save( Server.MapPath("data.xml") );//保存。
        }
    
        /// <summary>
        /// 根据XML文档的货号添加对应的色质码,颜色,库存信息,
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
           
            //string product_no = "YIBT749085";//要查询的id值
    
            //读取到XML文档
            XmlDocument xml = new XmlDocument();
            xml.Load(Server .MapPath ("data.xml"));
            XmlNodeList xmlTable = xml.SelectNodes("NewDataSet/Table");
            foreach (XmlNode table in xmlTable)
            {
                //取出货号,并根据货号来查询SKU值,每一个颜色,色质码,尺码对应一个SKU
                string product_no = table.SelectSingleNode("product_no").InnerText;
                //当节点是product_no的值是为上面值时,就可以去数据库查询信息
                if (table.SelectSingleNode("product_no").InnerText == product_no)
                {
                    //查询数据库信息
                    string str_sku = "select color,product_size,color2,number2,number from tbl_product_store where product_no='" + product_no + "'";
                    DataSet dr_sku = co.storenumshop (str_sku);
                    XmlNode skus = table.SelectSingleNode("skus");
    
                    if (skus == null)//如果没有,是新创建
                    {
                        skus = xml.CreateElement("skus");
                    }
    
                    int row_count = dr_sku.Tables[0].Rows.Count;
    
                    //以行数进行循环读取每一行每一个SKU值
                    for (int i = 0; i < row_count; i++)
                    {
                        //生成SKU节点,并插入到XMl文档里面
                        string color =dr_sku.Tables [0].Rows [i]["color"].ToString ();//绑定第一个字段 
                        string product_size = dr_sku.Tables[0].Rows[i]["product_size"].ToString();
                        string color2 = dr_sku.Tables[0].Rows[i]["color2"].ToString();
                        string number = dr_sku.Tables[0].Rows[i]["number"].ToString();
                        string number2 = dr_sku.Tables[0].Rows[i]["number2"].ToString();
    
                        XmlElement sku = xml.CreateElement("sku");
    
                        XmlElement sku_created = xml.CreateElement("color");
                        sku_created.InnerText = color;
                        sku.AppendChild(sku_created);
    
                        XmlElement sku_created2 = xml.CreateElement("product_size");
                        sku_created2.InnerText = product_size;
                        sku.AppendChild(sku_created2);
    
                        XmlElement sku_created3 = xml.CreateElement("color2");
                        sku_created3.InnerText = color2;
                        sku.AppendChild(sku_created3);
    
                        XmlElement sku_created4 = xml.CreateElement("number");
                        sku_created4.InnerText = number.ToString();
                        sku.AppendChild(sku_created4);
    
                        XmlElement sku_created5 = xml.CreateElement("number2");
                        sku_created5.InnerText = number2.ToString();
                        sku.AppendChild(sku_created5);
                        skus.AppendChild(sku);
    
                    }
    
                    //根节点添加SKU节点
                    table.AppendChild(skus);
    
                }
               
            }
            //保存XML文档 
            xml.Save(Server .MapPath ("data2.xml"));
        }
    
  • 相关阅读:
    [LeetCode] 875. Koko Eating Bananas 科科吃香蕉
    [LeetCode] 874. Walking Robot Simulation 走路机器人仿真
    [LeetCode] 995. Minimum Number of K Consecutive Bit Flips 连续K位翻转的最小次数
    [LeetCode] 873. Length of Longest Fibonacci Subsequence 最长的斐波那契序列长度
    [LeetCode] 872. Leaf-Similar Trees 叶结点相似的树
    [LeetCode] 870. Advantage Shuffle 优势洗牌
    [LeetCode] 869. Reordered Power of 2 重新排序为2的倍数
    [LeetCode] 868. Binary Gap 二进制间隙
    [LeetCode] 867. Transpose Matrix 转置矩阵
    [LeetCode] 866. Prime Palindrome 质数回文数
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/1881789.html
Copyright © 2011-2022 走看看