递归读取XML空模版文件,向模版中加入值,返回字符串

/// <summary>
        /// 读取XML文件模版,将节点值增加到XML文件中,返回XML字符串
        /// </summary>
        /// <param name="Xml_TXValue">节点下的值</param>
        /// <param name="strPath">XML文件模版路径</param>
        /// <returns>XML字符串</returns>
        public static string GetStrXML(string[] Xml_TXValue, string strPath)
        {
            PriCount = 0;
            XmlDocument xd = new XmlDocument();//定义一个xmldocument对象
            string xmlpath = GetXmlFullPath(strPath);//加载xml文件           
            xd.Load(@xmlpath);
            XmlElement tree = xd.DocumentElement;
            SetNodes(tree.ChildNodes, Xml_TXValue);
            return xd.InnerXml;
        }
        private static void SetNodes(XmlNodeList node,string [] XmlValue)
        {
            for (int i = 0; i < node.Count; i++)//对根子节点的所有子节点进行循环           
            {
                if (node[i].HasChildNodes)//判断是否还有子节点              
                {
                    SetNodes(node[i].ChildNodes, XmlValue);
                }
                else
                {
                    node[i].InnerText = XmlValue[PriCount].ToString();
                    PriCount++;
                }
            }
        }
        private static string GetXmlFullPath(string strPath)
        {
            //如果路径中含有:符号,则认定为传入的是完整路径
            if (strPath.IndexOf(":") > 0)
            {
                return strPath;
            }
            else
            {
                //返回完整路径
                return System.Web.HttpContext.Current.Server.MapPath(strPath);
            }
        }

posted @ 2012-07-24 08:41  途_途  阅读(173)  评论(0编辑  收藏  举报