C#操作Xml通用工具类

    技术2022-05-19  21

     

     

    1个简单的处理XML的工具类

    代码1

    using System;using System.Xml;namespace WLERP.Common.Util{    /// <summary>    /// Xml 操作工具类    /// </summary>    public sealed class XmlUtil    {        private XmlUtil() { }        /// <summary>        /// 创建节点        /// </summary>        /// <param name="node"></param>        /// <param name="newElementName"></param>        /// <returns></returns>        public static XmlNode AppendElement(XmlNode node, string newElementName)        {            return AppendElement(node, newElementName, null);        }        /// <summary>        /// 创建节点        /// </summary>        /// <param name="node"></param>        /// <param name="newElementName"></param>        /// <param name="innerValue"></param>        /// <returns></returns>        public static XmlNode AppendElement(XmlNode node, string newElementName, string innerValue)        {            XmlNode oNode;            if (node is XmlDocument)            {                oNode = node.AppendChild(((XmlDocument)node).CreateElement(newElementName));            }            else            {                oNode = node.AppendChild(node.OwnerDocument.CreateElement(newElementName));            }            if (innerValue != null)            {                oNode.AppendChild(node.OwnerDocument.CreateTextNode(innerValue));            }            return oNode;        }        /// <summary>        /// 创建属性        /// </summary>        /// <param name="xmlDocument"></param>        /// <param name="name"></param>        /// <param name="value"></param>        /// <returns></returns>        public static XmlAttribute CreateAttribute(XmlDocument xmlDocument, string name, string value)        {            XmlAttribute oAtt = xmlDocument.CreateAttribute(name);            oAtt.Value = value;            return oAtt;        }        /// <summary>        /// 设置属性的值        /// </summary>        /// <param name="node"></param>        /// <param name="attributeName"></param>        /// <param name="attributeValue"></param>        public static void SetAttribute(XmlNode node, string attributeName, string attributeValue)        {            if (node.Attributes[attributeName] != null)            {                node.Attributes[attributeName].Value = attributeValue;            }            else            {                node.Attributes.Append(CreateAttribute(node.OwnerDocument, attributeName, attributeValue));            }        }        /// <summary>        /// 获取属性的值        /// </summary>        /// <param name="node"></param>        /// <param name="attributeName"></param>        /// <param name="defaultValue"></param>        /// <returns></returns>        public static string GetAttribute(XmlNode node, string attributeName, string defaultValue)        {            XmlAttribute att = node.Attributes[attributeName];            if (att != null)            {                return att.Value;            }            else            {                return defaultValue;            }        }        /// <summary>        /// 获取节点的值        /// </summary>        /// <param name="parentNode"></param>        /// <param name="nodeXPath"></param>        /// <param name="defaultValue"></param>        /// <returns></returns>        public static string GetNodeValue(XmlNode parentNode, string nodeXPath, string defaultValue)        {            XmlNode node = parentNode.SelectSingleNode(nodeXPath);            if (node.FirstChild != null)            {                return node.FirstChild.Value;            }            else if (node != null)            {                return node.Value;            }            else            {                return defaultValue;            }        }    }}

    最新回复(0)