首页 新闻 搜索 专区 学院

求大神帮忙,解决一下问题

0
[待解决问题]

用c#写一个小程序可以替换xml文件中的数据,我写到一半写不下去了,求各位解答

hello  baby的主页 hello baby | 菜鸟二级 | 园豆:202
提问于:2015-09-25 16:37
< >
分享
所有回答(2)
0

先把XML用实体类序列化
然后把这个XML加载到实体里面,只用修改实体的值
然后反序列化为XML。这样就成了

Giant Liu | 园豆:942 (小虾三级) | 2015-09-25 16:43

听得有点不太能明白,有没有写好的程序让我参考一下呢  谢谢咯

支持(0) 反对(0) hello baby | 园豆:202 (菜鸟二级) | 2015-09-25 16:51

@hello baby: 不要老想着别人给你写代码。
已经说明了XML 序列化与反序列化
你百度/谷歌一下就能解决了。

just do it

支持(0) 反对(0) Giant Liu | 园豆:942 (小虾三级) | 2015-09-25 16:57
0

替换不如删除后填充

imluzhi | 园豆:37 (初学一级) | 2015-09-25 16:43

大神 ,你那有写好的例子没有呢  方便给我一份让我参考一下么  本人菜鸟

支持(0) 反对(0) hello baby | 园豆:202 (菜鸟二级) | 2015-09-25 16:51

@hello baby: 

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="model"></param>
        public void Delete(string GID)
        {
            XmlDocument doc = XMLHelper.xmlDoc(path);
            XmlNode node = null;
            foreach (XmlNode nd in doc["SeoUrlRegulars"].ChildNodes)
            {
                if (nd.Name == "SeoUrlRegular" && nd.ChildNodes[0].InnerText == GID)
                {
                    node = nd;
                }
            }
            if (node == null)
            {
                return;
            }
            doc["SeoUrlRegulars"].RemoveChild(node);
            doc.Save(path);
        }

        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="model"></param>
        public void Add(MSEO model)
        {
            XmlDocument doc = XMLHelper.xmlDoc(path);

            XmlNode SeoUrlRegularNode = doc.CreateElement("SeoUrlRegular");
            XmlNode GIDNode = doc.CreateElement("GID");
            GIDNode.InnerText = model.GID;
            XmlNode LookExpressionNode = doc.CreateElement("LookExpression");
            LookExpressionNode.InnerText = model.LookExpression;
            XmlNode MetaKeywordsNode = doc.CreateElement("MetaKeywords");
            MetaKeywordsNode.InnerText = model.MetaKeywords;
            XmlNode PageTitleNode = doc.CreateElement("PageTitle");
            PageTitleNode.InnerText = model.PageTitle;
            XmlNode MetaDescriptionNode = doc.CreateElement("MetaDescription");
            MetaDescriptionNode.InnerText = model.MetaDescription;
            XmlNode OrdinalNode = doc.CreateElement("Ordinal");
            OrdinalNode.InnerText = model.Ordinal.ToString();
            XmlNode EnabledNode = doc.CreateElement("Enabled");
            EnabledNode.InnerText = model.Enabled.ToString();

            SeoUrlRegularNode.AppendChild(GIDNode);
            SeoUrlRegularNode.AppendChild(LookExpressionNode);
            SeoUrlRegularNode.AppendChild(MetaKeywordsNode);
            SeoUrlRegularNode.AppendChild(PageTitleNode);
            SeoUrlRegularNode.AppendChild(MetaDescriptionNode);
            SeoUrlRegularNode.AppendChild(OrdinalNode);
            SeoUrlRegularNode.AppendChild(EnabledNode);

            doc["SeoUrlRegulars"].AppendChild(SeoUrlRegularNode);
            doc.Save(path);
        }
支持(0) 反对(0) imluzhi | 园豆:37 (初学一级) | 2015-09-25 16:54
        #region xmlDoc
        /// <summary>
        /// 创建一个XmlDocument对象
        /// </summary>
        /// <param name="PathOrString">文件名称或XML字符串</param>
        public static XmlDocument xmlDoc(string PathOrString)
        {
            try
            {
                XmlDocument xDoc = new XmlDocument();
                if (System.IO.File.Exists(PathOrString))
                {
                    xDoc.Load(PathOrString);
                }
                else
                {
                    xDoc.LoadXml(PathOrString);
                }
                return xDoc;
            }
            catch
            {
                return null;
            }
        }
        #endregion

 

支持(0) 反对(0) imluzhi | 园豆:37 (初学一级) | 2015-09-25 16:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册