/// <summary> /// 取出当前用户之前输入的相应文本 /// </summary> /// <returns></returns> static public List <string> GetValues(HistoryInputRecordType rt) { XmlNodeList xnl = null; List <string> list = new List <string>(); switch (rt) { case HistoryInputRecordType.CreaterBy: xnl = _histotyInputRecord.SelectSingleNode("recoders/alias").ChildNodes; break; case HistoryInputRecordType.ContentSource: xnl = _histotyInputRecord.SelectSingleNode("recoders/contentSource").ChildNodes; break; case HistoryInputRecordType.ModifyBy: xnl = _histotyInputRecord.SelectSingleNode("recoders/modifyBy").ChildNodes; break; default: Debug.Fail(""); break; } if (xnl != null) { foreach (XmlNode node in xnl) { list.Add(node.InnerText); } } return(list); }
/// <summary> /// 将用户输入的值放入文件中 /// </summary> /// <param name="text">传入的值</param> /// <param name="rt">当前操作的哪种类型</param> static public void AddValue(string text, HistoryInputRecordType rt) { XmlNode node = null; string nodeName = string.Empty; string xPath = string.Empty; switch (rt) { case HistoryInputRecordType.CreaterBy: node = _histotyInputRecord.SelectSingleNode("recoders/alias"); nodeName = "name"; xPath = string.Format("/recoders/alias/name/text()[string() = '{0}']/parent::node()", text); break; case HistoryInputRecordType.ContentSource: node = _histotyInputRecord.SelectSingleNode("recoders/contentSource"); nodeName = "source"; xPath = string.Format("/recoders/contentSource/source/text()[string() = '{0}']/parent::node()", text); break; case HistoryInputRecordType.ModifyBy: node = _histotyInputRecord.SelectSingleNode("recoders/modifyBy"); nodeName = "name"; xPath = string.Format("/recoders/modifyBy/name/text()[string() = '{0}']/parent::node()", text); break; default: Debug.Fail(""); break; } if (!node.HasChildNodes) { XmlElement ele = _histotyInputRecord.CreateElement(nodeName); ele.InnerText = text; node.AppendChild(ele); } else { ///通过text查找相应的节点是否存在,存在则删除,后在创建,不存在则创建 XmlNode textNode = node.SelectSingleNode(xPath); if (textNode != null) { node.RemoveChild(textNode); } XmlElement element = _histotyInputRecord.CreateElement(nodeName); element.InnerText = text; XmlNode FirChild = node.FirstChild; node.InsertBefore(element, FirChild); } _histotyInputRecord.Save(_historyInputFile); }