• C# 生成XML 多级节点


     直接上代码:

     在应用程序中

     class Program
        {
    
            //public static JsonServiceClient Service = new JsonServiceClient(ConfigInfo.GetSettingAsString("ServiceJsonServiceClient"));
    
            public static JsonServiceClient Service = new JsonServiceClient("http://localhost:65241/");
            static void Main(string[] args)
            {
                Console.WriteLine("---------------开始 执行生成XML---------------");
    
                CreateXmlFile();
    
                Console.WriteLine("---------------结束 执行生成XML---------------");
    
                Console.ReadKey();
            }
    
            /// <summary>
            /// 创建
            /// </summary>
            public static void CreateXmlFile()
            {
                XmlDocument xmlDoc = new XmlDocument();
                //创建类型声明节点  
                XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
                xmlDoc.AppendChild(node);
    
                //创建根节点  
                XmlElement xeRoot = xmlDoc.CreateElement("urlset");
                //给节点属性赋值
                xeRoot.SetAttribute("version", "1.0");
                xeRoot.SetAttribute("name", "商品数据");
                xmlDoc.AppendChild(xeRoot);
                zgqp315_Common_Goods_XML_Status status = Service.Get<zgqp315_Common_Goods_XML_Status>(string.Format("selectzgqp315_Common_Goods_XML_Operation/{0}/{1}", 1, 10000));
    
                if (status.List.Count > 0)
                {
                    for (int i = 0; i < status.List.Count; i++)
                    {
                        xeRoot = xmlDoc.CreateElement("url");
                        XmlNode xn_urlset = xmlDoc.SelectSingleNode("urlset");
                        if (xn_urlset != null)
                        {
                            xn_urlset.AppendChild(xeRoot);
                        }
    
                        CreateNode(xmlDoc, xeRoot, "loc", "http://www.baidu.com");
                        CreateNode(xmlDoc, xeRoot, "lastmod", DateTime.Now.ToLocalTime().ToString());
                        CreateNode(xmlDoc, xeRoot, "changefreq", "always");
                        CreateNode(xmlDoc, xeRoot, "priority", "1.0");
    
                        xeRoot = xmlDoc.CreateElement("data");
                        XmlNode xn_url = xmlDoc.SelectSingleNode("urlset").SelectNodes("url").Item(i);
                        if (xn_url != null)
                        {
                            xn_url.AppendChild(xeRoot);
                        }
    
                        xeRoot = xmlDoc.CreateElement("dispaly");
                        XmlNode xn_data = xmlDoc.SelectSingleNode("urlset").SelectNodes("url").Item(i).SelectSingleNode("data");
                        if (xn_data != null)
                        {
                            xn_data.AppendChild(xeRoot);
                        }
    
                        CreateNode(xmlDoc, xeRoot, "innerID", status.List[i].SKUCCId.ToString());
                        CreateNode(xmlDoc, xeRoot, "sourceTime", DateTime.Now.ToLocalTime().ToString());
                        CreateNode(xmlDoc, xeRoot, "productLine", "1");
                        CreateNode(xmlDoc, xeRoot, "isDelete", "0");
                        CreateNode(xmlDoc, xeRoot, "title", @"<![CDATA[" + status.List[i].GoodsName + "]]>");
                        CreateNode(xmlDoc, xeRoot, "poster", @"<![CDATA[]]>");
                        CreateNode(xmlDoc, xeRoot, "originalPrice", status.List[i].PricePure.ToString());
                        CreateNode(xmlDoc, xeRoot, "discountPrice", status.List[i].PricePure.ToString());
    
                        CreateNode(xmlDoc, xeRoot, "onlineTime", "1401353274");
                        CreateNode(xmlDoc, xeRoot, "totalSalesVolume", "100");
                        CreateNode(xmlDoc, xeRoot, "totalReviewCounts", "100");
                        CreateNode(xmlDoc, xeRoot, "goodReviewCounts", "10000");
                        CreateNode(xmlDoc, xeRoot, "rating", "9.6");
                        CreateNode(xmlDoc, xeRoot, "maxRating", "10");
                        CreateNode(xmlDoc, xeRoot, "brand", status.List[i].GoodsName);
                        CreateNode(xmlDoc, xeRoot, "postageFlag", "1");
                        CreateNode(xmlDoc, xeRoot, "certifiedFlag","1");
                        CreateNode(xmlDoc, xeRoot, "compensationFlag","1");
                        CreateNode(xmlDoc, xeRoot, "bestSellerFlag", "1");
                        CreateNode(xmlDoc, xeRoot, "groupSale", "1");
                        CreateNode(xmlDoc, xeRoot, "discountFlag", "0");
                        CreateNode(xmlDoc, xeRoot, "discountStartTime", "");
                        CreateNode(xmlDoc, xeRoot, "discountEndTime", "");
                        CreateNode(xmlDoc, xeRoot, "newProductFlag", "0");
    
                        CreateNode(xmlDoc, xeRoot, "status", "1");
                        CreateNode(xmlDoc, xeRoot, "description", @"<![CDATA[]]>");
    
                        CreateNode(xmlDoc, xeRoot, "type", "配件");
                        CreateNode(xmlDoc, xeRoot, "hot", "80");
                        CreateNode(xmlDoc, xeRoot, "maxHot", "100");
                        CreateNode(xmlDoc, xeRoot, "comments", "Good!");
                        CreateNode(xmlDoc, xeRoot, "model", "");
                        CreateNode(xmlDoc, xeRoot, "origin", "");
                        CreateNode(xmlDoc, xeRoot, "urlForApp", @"<![CDATA[]]>");
                        CreateNode(xmlDoc, xeRoot, "urlForWeb", @"<![CDATA[]]>");
                    }
                }
    
                try
                {
                    xmlDoc.Save("d://商品_非3c商品.xml");
                }
                catch (Exception e)
                {
                    //显示错误信息  
                    Console.WriteLine(e.Message);
                }
                //Console.ReadLine();  
    
            }
            /// <summary>    
            /// 创建节点    
            /// </summary>    
            /// <param name="xmldoc"></param>  xml文档  
            /// <param name="parentnode"></param>父节点    
            /// <param name="name"></param>  节点名  
            /// <param name="value"></param>  节点值  
            ///   
            public static void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
            {
                XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
                node.InnerText = value;
                parentNode.AppendChild(node);
            }
        }

    效果图:

  • 相关阅读:
    ansible-2添加公钥
    ansible-1 的安装
    history命令显示出详细时间
    nginx配置文件详解
    oracle-7参数文件的管理
    使用gitlab+jenkins+saltstack+rsync自动部署Web应用
    tomcat配置和优化
    pip --upgrade批量更新过期的python库
    apk下载安装,存储的位置,路径
    android中的内部存储与外部存储
  • 原文地址:https://www.cnblogs.com/foreverfendou/p/6169184.html
Copyright © 2020-2023  润新知