zoukankan      html  css  js  c++  java
  • Xml读取和写入以及新建

    有时候要用到Xml的读取和写入,甚至有时候需要新建一个Xml,但是好长时间不用这东西,都忘了,所以就写了一个类库,想用的时候直接拿过来用就OK了

    下面是代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Xml;
    
    namespace Xmlleiku
    {
        public class Xmllei
        {
            public static string xmlpath = string.Empty;
            /// <summary>
            /// 初始化xml的物理地址
            /// </summary>
            /// <param name="path">物理地址</param>
            public Xmllei(string path)
            {
                xmlpath = path;
            }
            /// <summary>
            /// 读取xml中的内容
            /// </summary>
            /// <param name="element">节点的名字</param>
            public Dictionary<int, string[]> Reader(string element)
            {
                XmlDocument xodc = new XmlDocument();
                xodc.Load(xmlpath);
                XmlNodeList lis = xodc.GetElementsByTagName(element);
                Dictionary<int, string[]> dic = new Dictionary<int, string[]>();
                int j = 0;
                foreach (XmlNode item in lis)
                {
                    string[] a = new string[item.ChildNodes.Count];
                    for (int i = 0; i < item.ChildNodes.Count; i++)
                    {
                        a[i] = item.ChildNodes.Item(i).InnerText;
                    }
                    dic.Add(j++, a);
                }
                return dic;
            }
            /// <summary>
            /// 写入已有的Xml文档
            /// </summary>
            /// <param name="element">对应的标签组</param>
            /// <param name="meirong">与标签对应的内容</param>
            /// <returns></returns>
            public int Write(string[] element, List<string[]> meirong)
            {
                int j=0;
                try
                {
                    XmlDocument xodc = new XmlDocument();
                    xodc.Load(xmlpath);
                    foreach (string[] item1 in meirong)
                    {
                        int i = 1;
                        XmlElement a = xodc.CreateElement(element[0]);
                        foreach (string item2 in item1)
                        {
                            XmlElement b = xodc.CreateElement(element[i++]);
                            b.AppendChild(xodc.CreateTextNode(item2));
                            a.AppendChild(b);
                        }
                        j++;
                        xodc.DocumentElement.AppendChild(a);
                        xodc.Save(xmlpath);
                    }
                    return j;
                }
                catch
                {
                    return 0;
                }
            }
            /// <summary>
            /// 创建一个新的Xml文档
            /// </summary>
            /// <param name="element">包含Xml文档的根目录的标签组</param>
            /// <param name="meirong">内容数组</param>
            /// <returns></returns>
            public int Create(string[] element,List<string[]> meirong)
            {
                int j = 0;
                XmlWriterSettings sttingsw = new XmlWriterSettings();
                sttingsw.Encoding = System.Text.Encoding.UTF8;
                sttingsw.Indent = true;
                using (XmlWriter writer = XmlWriter.Create(xmlpath))
                {
                    writer.WriteStartDocument();
                    writer.WriteStartElement(element[0]);
                    foreach (string[] item1 in meirong)
                    {
                        
                        int i = 2;
                        writer.WriteStartElement(element[1]);
                        foreach (string item2 in item1)
                        {
                            writer.WriteStartElement(element[i++]);
                            writer.WriteString(item2);
                            writer.WriteEndElement();
                        }
                        writer.WriteEndElement();
                        j++;
                    }
                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                }
                return j;
            }
        }
    }
    


  • 相关阅读:
    Android自己定义组件系列【1】——自己定义View及ViewGroup
    LeetCode60:Permutation Sequence
    GitHub 优秀的 Android 开源项目
    view变化监听器ViewTreeObserver介绍
    android中ImageView的ScaleType属性
    Android静态图片人脸识别的完整demo(附完整源码)
    理解Android的手势识别
    Android浏览图片,点击放大至全屏效果
    Android中如何实现文件下载
    Android语音识别
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3071847.html
Copyright © 2011-2022 走看看