热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Xml读取和写入以及新建

有时候要用到Xml的读取和写入,甚至有时候需要新建一个Xml,但是好长时间不用这东西,都忘了,所以就写了一个类库,想用的时候直接拿过来用就OK了下面是代码[html]usingSystem;usingSystem.Collections.Gene...SyntaxHighligh

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

下面是代码


[html]
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; 
        ///

 
        /// 初始化xml的物理地址 
        ///
 
        /// 物理地址 
        public Xmllei(string path) 
        { 
            xmlpath = path; 
        } 
        ///  
        /// 读取xml中的内容 
        ///
 
        /// 节点的名字 
        public Dictionary Reader(string element) 
        { 
            XmlDocument xodc = new XmlDocument(); 
            xodc.Load(xmlpath); 
            XmlNodeList lis = xodc.GetElementsByTagName(element); 
            Dictionary dic = new Dictionary(); 
            int j = 0; 
            foreach (XmlNode item in lis) 
            { 
                string[] a = new string[item.ChildNodes.Count]; 
                for (int i = 0; i                 { 
                    a[i] = item.ChildNodes.Item(i).InnerText; 
                } 
                dic.Add(j++, a); 
            } 
            return dic; 
        } 
        ///  
        /// 写入已有的Xml文档 
        ///
 
        /// 对应的标签组 
        /// 与标签对应的内容 
        ///  
        public int Write(string[] element, List 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; 
            } 
        } 
        ///  
        /// 创建一个新的Xml文档 
        ///
 
        /// 包含Xml文档的根目录的标签组 
        /// 内容数组 
        ///  
        public int Create(string[] element,List 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; 
        } 
    } 

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;
        ///


        /// 初始化xml的物理地址
        ///

        /// 物理地址
        public Xmllei(string path)
        {
            xmlpath = path;
        }
        ///
        /// 读取xml中的内容
        ///

        /// 节点的名字
        public Dictionary Reader(string element)
        {
            XmlDocument xodc = new XmlDocument();
            xodc.Load(xmlpath);
            XmlNodeList lis = xodc.GetElementsByTagName(element);
            Dictionary dic = new Dictionary();
            int j = 0;
            foreach (XmlNode item in lis)
            {
                string[] a = new string[item.ChildNodes.Count];
                for (int i = 0; i                 {
                    a[i] = item.ChildNodes.Item(i).InnerText;
                }
                dic.Add(j++, a);
            }
            return dic;
        }
        ///
        /// 写入已有的Xml文档
        ///

        /// 对应的标签组
        /// 与标签对应的内容
        ///
        public int Write(string[] element, List 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;
            }
        }
        ///
        /// 创建一个新的Xml文档
        ///

        /// 包含Xml文档的根目录的标签组
        /// 内容数组
        ///
        public int Create(string[] element,List 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;
        }
    }
}


 


推荐阅读
  • wxParse 0.3:微信小程序中的高级 HTML 和 Markdown 富文本解析器,全面支持多级嵌套与 Emoji 表情
    wxParse 0.3 是一款专为微信小程序设计的高级富文本解析器,支持 HTML 和 Markdown 转换为 WXML 可视化格式。该组件不仅能够处理复杂的多级嵌套结构,还全面支持 Emoji 表情,极大地提升了内容展示的多样性和用户体验。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 在多模块项目中,项目A作为一个独立的工具包,不依赖于任何第三方库。其目录结构如下:`--src--main--java--resources`。当将项目A打包成JAR文件后,发现无法正确访问`resources`目录下的文件资源。这一问题可能源于JAR文件的构建配置或类路径设置不当,需要仔细检查Maven或Gradle的构建脚本,确保资源文件被正确包含并加载。 ... [详细]
  • HTTP请求与响应机制:基础概览
    在Web浏览过程中,HTTP协议通过请求和响应报文实现客户端与服务器之间的通信。当用户访问一个网页时,浏览器会发送一个HTTP请求报文至服务器,服务器接收到请求后,会生成并返回一个HTTP响应报文。这两种报文均包含三个主要部分:起始行、头部字段和消息体,确保了数据的有效传输和解析。 ... [详细]
  • C#是一种现代、简洁且完全面向对象的编程语言,其设计受到了C、C++和Java等语言的影响。作为.NET框架的核心组成部分,C#不仅具备强大的功能,还能够支持广泛的应用系统开发,包括但不限于桌面应用程序、Web服务和移动应用。 ... [详细]
  • 如何在Spark数据排序过程中有效避免内存溢出(OOM)问题
    本文深入探讨了在使用Spark进行数据排序时如何有效预防内存溢出(OOM)问题。通过具体的代码示例,详细阐述了优化策略和技术手段,为读者在实际工作中遇到类似问题提供了宝贵的参考和指导。 ... [详细]
  • 如何在IDEA中安装和配置反编译插件以提高代码审查效率
    在 IntelliJ IDEA 中提升代码审查效率的一种方法是安装和配置反编译插件。首先,进入 IDEA 的设置界面,然后导航到插件管理部分。接下来,搜索 "ideaJad" 插件并进行安装。安装完成后,重启 IDEA 以确保插件生效。这将帮助你在审查二进制文件时更加高效地查看源代码。 ... [详细]
  • 本文全面介绍了 Windows 快捷键的使用方法,旨在帮助用户提高工作效率。通过详细解析各类快捷键的应用场景和功能,为用户提供了一站式的操作指南。无论是新手还是资深用户,都能从中受益,轻松掌握提升生产力的实用技巧。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
author-avatar
尔的依恋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有