コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: XmlParse.cs プロジェクト: Nacro8/xiaobier
        /// <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;
        }
コード例 #4
0
ファイル: XmlParse.cs プロジェクト: Nacro8/xiaobier
        /// <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;
        }