/// <summary> /// 更新节点 /// </summary> /// <param name="xmlDoc"></param> /// <param name="xmlNode"></param> /// <param name="node"></param> /// <param name="value"></param> /// <param name="runFlag"></param> /// <param name="errorMessage"></param> /// <returns></returns> public static bool UpdateNode(XmlNode xmlNode, string node, string value, RunFlag runFlag, out string errorMessage) { bool blnFlag = true; errorMessage = string.Empty; try { if (RunFlag.Insert.Equals(runFlag)) { XmlElement xmlElement = xmlNode.OwnerDocument.CreateElement(node, xmlNode.NamespaceURI); if (!string.IsNullOrEmpty(value.Trim())) { xmlElement.InnerText = value; } xmlNode.AppendChild(xmlElement); } else if (RunFlag.Erase.Equals(runFlag)) { xmlNode.ParentNode.RemoveChild(xmlNode); } else if (RunFlag.Update.Equals(runFlag)) { XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xmlNode.OwnerDocument.NameTable); xmlNamespaceManager.AddNamespace(Namespace, xmlNode.NamespaceURI); XmlNodeList xmlNodeList = xmlNode.SelectNodes(Namespace + ":" + node, xmlNamespaceManager); if (xmlNodeList.Count > 0) { foreach (XmlNode xmlNodeChild in xmlNodeList) { switch (runFlag) { case RunFlag.Update: xmlNodeChild.InnerText = value; break; } } } else { blnFlag = false; errorMessage = "节点不存在:" + node; } } } catch (Exception ex) { errorMessage = ex.ToString(); blnFlag = false; } return(blnFlag); }
/// <summary> /// 更新属性 /// </summary> /// <param name="xmlNode"></param> /// <param name="attribute"></param> /// <param name="value"></param> /// <param name="runFlag"></param> /// <param name="errorMessage"></param> /// <returns></returns> public static bool UpdateAttribute(XmlNode xmlNode, string attribute, string value, RunFlag runFlag, out string errorMessage) { bool blnFlag = true; errorMessage = string.Empty; try { if (RunFlag.Insert.Equals(runFlag)) { XmlAttribute xmlAttribute = xmlNode.OwnerDocument.CreateAttribute(attribute); xmlAttribute.Value = value; xmlNode.Attributes.Append(xmlAttribute); } else if (null != xmlNode.Attributes[attribute]) { switch (runFlag) { case RunFlag.Update: xmlNode.Attributes[attribute].Value = value; break; case RunFlag.Erase: xmlNode.Attributes.RemoveNamedItem(attribute); break; } } else { blnFlag = false; errorMessage = "属性不存在:" + attribute; } } catch (Exception ex) { errorMessage = ex.StackTrace; blnFlag = false; } return(blnFlag); }
/// <summary> /// 更新属性 /// </summary> /// <param name="xmlNode"></param> /// <param name="attribute"></param> /// <param name="value"></param> /// <param name="runFlag"></param> /// <param name="errorMessage"></param> /// <returns></returns> public static bool UpdateAttribute(XmlNode xmlNode, string attribute, string value, RunFlag runFlag, out string errorMessage) { bool blnFlag = true; errorMessage = string.Empty; try { if (RunFlag.Insert.Equals(runFlag)) { XmlAttribute xmlAttribute = xmlNode.OwnerDocument.CreateAttribute(attribute); xmlAttribute.Value = value; xmlNode.Attributes.Append(xmlAttribute); } else if (null != xmlNode.Attributes[attribute]) { switch (runFlag) { case RunFlag.Update: xmlNode.Attributes[attribute].Value = value; break; case RunFlag.Erase: xmlNode.Attributes.RemoveNamedItem(attribute); break; } } else { blnFlag = false; errorMessage = "属性不存在:" + attribute; } } catch (Exception ex) { errorMessage = ex.StackTrace; blnFlag = false; } return blnFlag; }
/// <summary> /// 更新节点 /// </summary> /// <param name="xmlDoc"></param> /// <param name="xmlNode"></param> /// <param name="node"></param> /// <param name="value"></param> /// <param name="runFlag"></param> /// <param name="errorMessage"></param> /// <returns></returns> public static bool UpdateNode(XmlNode xmlNode, string node, string value, RunFlag runFlag, out string errorMessage) { bool blnFlag = true; errorMessage = string.Empty; try { if (RunFlag.Insert.Equals(runFlag)) { XmlElement xmlElement = xmlNode.OwnerDocument.CreateElement(node, xmlNode.NamespaceURI); if (!string.IsNullOrEmpty(value.Trim())) xmlElement.InnerText = value; xmlNode.AppendChild(xmlElement); } else if (RunFlag.Erase.Equals(runFlag)) { xmlNode.ParentNode.RemoveChild(xmlNode); } else if (RunFlag.Update.Equals(runFlag)) { XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xmlNode.OwnerDocument.NameTable); xmlNamespaceManager.AddNamespace(Namespace, xmlNode.NamespaceURI); XmlNodeList xmlNodeList = xmlNode.SelectNodes(Namespace + ":" + node, xmlNamespaceManager); if (xmlNodeList.Count > 0) { foreach (XmlNode xmlNodeChild in xmlNodeList) { switch (runFlag) { case RunFlag.Update: xmlNodeChild.InnerText = value; break; } } } else { blnFlag = false; errorMessage = "节点不存在:" + node; } } } catch (Exception ex) { errorMessage = ex.ToString(); blnFlag = false; } return blnFlag; }