用c#写一个小程序可以替换xml文件中的数据,我写到一半写不下去了,求各位解答
先把XML用实体类序列化
然后把这个XML加载到实体里面,只用修改实体的值
然后反序列化为XML。这样就成了
听得有点不太能明白,有没有写好的程序让我参考一下呢 谢谢咯
@hello baby: 不要老想着别人给你写代码。
已经说明了XML 序列化与反序列化
你百度/谷歌一下就能解决了。
just do it
替换不如删除后填充
大神 ,你那有写好的例子没有呢 方便给我一份让我参考一下么 本人菜鸟
@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); }
#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