zoukankan      html  css  js  c++  java
  • C# 操作XML

        public class KeyValue
        {
            private string key = string.Empty;
    
            public string Key
            {
                get { return key; }
                set { key = value; }
            }
            private string value = string.Empty;
    
            public string Value
            {
                get { return this.value; }
                set { this.value = value; }
            }
    
            public KeyValue(string key, string value)
            {
                this.Key = key;
                this.Value = value;
            }
        }
    
        public class Result
        {
            public static string CreateResult(string status, string message, List<KeyValue> rsList)
            {
                try
                {
                    XmlDocument xmlDoc = new XmlDocument();
                    //创建类型声明节点  
                    XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
                    xmlDoc.AppendChild(node);
                    //创建根节点  
                    XmlNode root = xmlDoc.CreateElement("data");
                    xmlDoc.AppendChild(root);
    
                    XmlNode result = xmlDoc.CreateNode(XmlNodeType.Element, "result", null);
                    CreateNode(xmlDoc, result, "status", status);
                    CreateNode(xmlDoc, result, "message", message);
                    root.AppendChild(result);
    
                    XmlNode writetext = xmlDoc.CreateNode(XmlNodeType.Element, "writetext", null);
                    root.AppendChild(writetext);
    
                    if (rsList != null)
                    {
                        for (int i = 0; i < rsList.Count; i++)
                        {
                            CreateNode(xmlDoc, writetext, rsList[i].Key, rsList[i].Value);
                        }
                    }
                    return xmlDoc.InnerXml;
                }
                catch (Exception)
                {
                    throw;
                }
            }
    
            public static void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
            {
                XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
                node.InnerText = value;
                parentNode.AppendChild(node);
            }
    
            public static XmlDocument CreateTitle(string status, string message)
            {
                try
                {
                    XmlDocument xmlDoc = new XmlDocument();
                    //创建类型声明节点  
                    XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
                    xmlDoc.AppendChild(node);
                    //创建根节点  
                    XmlNode root = xmlDoc.CreateElement("data");
                    xmlDoc.AppendChild(root);
    
                    XmlNode result = xmlDoc.CreateNode(XmlNodeType.Element, "result", null);
                    CreateNode(xmlDoc, result, "status", status);
                    CreateNode(xmlDoc, result, "message", message);
                    root.AppendChild(result);
    
                    return xmlDoc;
                }
                catch (Exception)
                {
                    throw;
                }
            }
    
            public static string CreateList(XmlDocument xmlDoc, string elementParent, string item, List<KeyValue> rsList)
            {
                try
                {
                    XmlNode xmlNode = xmlDoc.SelectSingleNode("data");
                    XmlNode writetext = xmlNode.SelectSingleNode(elementParent);
                    XmlNode itemNode = null;
    
                    if (writetext == null)
                    {
                        writetext = xmlDoc.CreateNode(XmlNodeType.Element, elementParent, null);
                        xmlNode.AppendChild(writetext);
    
                        itemNode = xmlDoc.CreateNode(XmlNodeType.Element, item, null);
                        writetext.AppendChild(itemNode);
                    }
                    else
                    {
                        itemNode = xmlDoc.CreateNode(XmlNodeType.Element, item, null);
                        writetext.AppendChild(itemNode);
                    }
                    if (rsList != null)
                    {
                        for (int i = 0; i < rsList.Count; i++)
                        {
                            CreateNode(xmlDoc, itemNode, rsList[i].Key, rsList[i].Value);
                        }
                    }
                    return xmlDoc.InnerXml;
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
    
        public enum ResultState
        {
            success = 1, failed = 0, none = -1, error = -2, mserror = -3
        }
    
        public class HelperXml
        {
            /// <summary>
            /// 解析xml
            /// </summary>
            /// <param name="xmltext"></param>
            public static XmlNode AnalysisXml(string xmlfile)
            {
                try
                {
                    System.Xml.XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load(xmlfile);
    
                    XmlNode root = xmlDoc.SelectSingleNode("master");
                    //获取根节点下所有子节点
                    XmlNodeList nodelist = root.ChildNodes;
                    return root;
                }
                catch (Exception)
                {
                    throw;
                }
            }
    
            /// <summary>
            /// 获取指定节点下所有节点
            /// </summary>
            /// <param name="xmlNode"></param>
            /// <param name="nodeName"></param>
            /// <returns></returns>
            public static XmlNode GetAppointXmlnode(XmlNode xmlNode, string nodeName)
            {
                try
                {
                    XmlNode node = xmlNode.SelectSingleNode(nodeName);
                    return node;
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
  • 相关阅读:
    drf之频率器拓展
    drf之分页器
    drf之异常处理
    drf之过滤与排序
    drf之频率
    drf之权限
    drf之认证
    drf之路由
    drf之视图家族
    性能优化
  • 原文地址:https://www.cnblogs.com/rinack/p/5231954.html
Copyright © 2011-2022 走看看