`
新颖666666
  • 浏览: 31380 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

对xml文档的一些基本操作主要代码

xml 
阅读更多
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Data;
using System.Windows .Forms ;

namespace 通讯录
{
    class TreeXML
    {
        TreeView theTreeView;
        XmlDocument xmlDocument;
        public TreeXML()
        {
            xmlDocument = new XmlDocument();
        }
        public void AddXmlNode(string XmlfilePth,string Nodename) {
            xmlDocument.Load(XmlfilePth );
            XmlNode root = xmlDocument.SelectSingleNode("List");
            XmlElement e1 = xmlDocument.CreateElement("组名");//创建一个xml中的元素

            e1.InnerText = Nodename;
            root.AppendChild(e1);//将指定的节点添加到该节点的子节点列的末尾
            xmlDocument.Save(XmlfilePth);
        }
        public void XmlToTree(string XmlfilePth ,TreeView treeView)
        {
            theTreeView = treeView;
            xmlDocument.Load(XmlfilePth );//加载xml文件件
            XmlNode root = xmlDocument.SelectSingleNode("List");//选择加载的xml文档中的List节点
            foreach (XmlNode  subnode in root.ChildNodes )
            {
                if (subnode.Name =="组名")
                {
                    TreeNode treenode = new TreeNode();// 定义一个treeview节点
                    treenode.Text = subnode.InnerText;//给treeview节点赋值
                    theTreeView.Nodes.Add(treenode );//添加节点到treeview控件当中

                }
               
            }
        }
        public void DeleXml(string Xmlfilepath, string Nodename)
        {

            xmlDocument.Load(Xmlfilepath);                                    //加载文件
            XmlNodeList xnl = xmlDocument.SelectSingleNode("List").ChildNodes;//获取节点名字为List的所有子节点
            foreach (XmlNode xd in xnl)                                        //遍历所有的节点找出名字为为Nodename的节点
            {
                XmlElement xe = (XmlElement)xd;                              //将节点类型转换为元素进行操作
                if (xe.InnerText == Nodename)
                {
                    xe.ParentNode.RemoveChild(xe);                            //删除该节点
                    xmlDocument.Save(Xmlfilepath);                            //保存文件

                }

            }
        }
        public void AlterXml(string Xmlfilepath, string OldNodename, string NewNodename)   //修改名字
        {
            xmlDocument.Load(Xmlfilepath);
            XmlNodeList xnl = xmlDocument.SelectSingleNode("List").ChildNodes;
            foreach (XmlNode xd in xnl)
            {
                XmlElement xe = (XmlElement)xd;
                if (xe.InnerText == OldNodename)
                {
                    xe.InnerText = NewNodename;                     //将节点的名字改为自己输入的名字
                    xmlDocument.Save(Xmlfilepath);
                }
            }

        }
        public DataTable Getpersoninfo(string Xmlfilepath, string Nodename)
        {
            xmlDocument.Load(Xmlfilepath);
            XmlNodeList xnl = xmlDocument.SelectSingleNode("CONTENTS").ChildNodes;
            DataTable dt = new DataTable();                                      //定义一个datatable 添加9列如下
            dt.Columns.Add("ID", typeof(string));
            dt.Columns.Add("姓名", typeof(string));
            dt.Columns.Add("出生日期", typeof(string));
            dt.Columns.Add("电话", typeof(string));
            dt.Columns.Add("Email", typeof(string));
            dt.Columns.Add("QQ", typeof(string));
            dt.Columns.Add("性别", typeof(string));
            dt.Columns.Add("地址", typeof(string));
            dt.Columns.Add("备注", typeof(string));
            foreach (XmlNode xd in xnl)                            //遍历contents节点下的所有子节点
            {
                XmlElement xe = (XmlElement)xd;  
                if (xe.GetAttribute("分组") == Nodename)      //getAttribute() 方法通过名称获取属性的值  当分组的属性值是Nodename的值得时候将该节点下所有节点的信息添加到datatable当中
                {
                    DataRow myrow = dt.NewRow();
                    myrow["ID"] = xe.ChildNodes.Item(0).InnerText;
                    myrow["姓名"] = xe.ChildNodes.Item(1).InnerText;
                    myrow["出生日期"] = xe.ChildNodes.Item(2).InnerText;
                    myrow["电话"] = xe.ChildNodes.Item(3).InnerText;
                    myrow["Email"] = xe.ChildNodes.Item(4).InnerText;
                    myrow["QQ"] = xe.ChildNodes.Item(5).InnerText;
                    myrow["性别"] = xe.ChildNodes.Item(6).InnerText;
                    myrow["地址"] = xe.ChildNodes.Item(7).InnerText;
                    myrow["备注"] = xe.ChildNodes.Item(8).InnerText;
                    dt.Rows.Add(myrow);
                }
            }
            return dt;
        }
        public DataTable Getallpersoninfo(string Xmlfilepath)
        {
            xmlDocument.Load(Xmlfilepath);
            XmlNodeList xnl = xmlDocument.SelectSingleNode("CONTENTS").ChildNodes;
            DataTable dt = new DataTable();
            dt.Columns.Add("ID", typeof(string));
            dt.Columns.Add("姓名", typeof(string));
            dt.Columns.Add("出生日期", typeof(string));
            dt.Columns.Add("电话", typeof(string));
            dt.Columns.Add("Email", typeof(string));
            dt.Columns.Add("QQ", typeof(string));
            dt.Columns.Add("性别", typeof(string));
            dt.Columns.Add("地址", typeof(string));
            dt.Columns.Add("备注", typeof(string));
            foreach (XmlNode xd in xnl)
            {
                XmlElement xe = (XmlElement)xd;
                DataRow myrow = dt.NewRow();
                myrow["ID"] = xe.ChildNodes.Item(0).InnerText;
                myrow["姓名"] = xe.ChildNodes.Item(1).InnerText;
                myrow["出生日期"] = xe.ChildNodes.Item(2).InnerText;
                myrow["电话"] = xe.ChildNodes.Item(3).InnerText;
                myrow["Email"] = xe.ChildNodes.Item(4).InnerText;
                myrow["QQ"] = xe.ChildNodes.Item(5).InnerText;
                myrow["性别"] = xe.ChildNodes.Item(6).InnerText;
                myrow["地址"] = xe.ChildNodes.Item(7).InnerText;
                myrow["备注"] = xe.ChildNodes.Item(8).InnerText;
                dt.Rows.Add(myrow);

            }
            return dt;
        }//获取文件中所有的信息
    }
}
分享到:
评论

相关推荐

    基于C++的xml文档解析器源代码

    基于c++的xml文档解析器源代码。实现对标准xml文档解析:读取、遍历、查找、插入、保存等基本操作。

    C写的解析xml文件源代码

    该源码包括解析xml文件,以及在xml文件中实施查找、增加、删除结点等等所有关于xml文件的基本操作。

    xml解析和组装源代码

    XML配置文件的解析和组装文件,可实现基本的XML操作

    XML文件在Java程序中的基本运用.zip

    这个是一个Java程序的压缩包,内容主要是在Java程序中读取调用xml文件,通过Java程序编写xml文件等基础操作。代码很简单,其中包含dom4j的基础用法。

    xml+Xpath基本应用

    xml+Xpath基本应用,含有Dom4J及支持Xpath所需要的jar包,及xpath的入门教程,并附带一份源代码,提供对xml文件的基本读写及内容的增删改查的操作,方便学习xml,xpath及dom4j

    xml文档解析器--c++源代码

    自己写的一个xml文档解析类,实现对标准xml文档解析:读取、查询、删除、添加、保存等基本操作. 开发工具vs2008

    c# XML版人事管理系统源代码

    c#人事管理系统源码,数据库选择是XML,里面包括有很多C#对XML文件的操作技巧,因此来说,这个人事管理系统,其重点是学习对XML的操作。对人事管理系统方面来说,功能包括:可查询、浏览、添加、删除、修改员工的...

    C# XML文件读取示例

    C# XML文件读取示例,这是一个演示类,但包含了基本的读写功能。

    C#对Xml的操作

    C#对Xml的基本操作 包括有:XML节点的创建,为节点添加属性(两种方法);不需要创建节点,添加属性或者文本节点等;读取XML文件(五种方法)。 以上代码在程序包中均已实现。 开发环境:VS2010,如果是2008的版本...

    C#对XML的操作.rar

    C#对Xml的基本操作 包括有:XML节点的创建,为节点添加属性(两种方法);不需要创建节点,添加属性或者文本节点等;读取XML文件(五种方法)。 以上代码在程序包中均已实现。 开发环境:VS2010,如果是2008的...

    xml入门教程/xml入门教程

    XSLT,是用于对XML进行文档格式转换,把一个XML文档转换成另一种格式的XML文档,但是其中内容是不变的。 &2.DTD(Document Type Difinition DTD文档是用于规定XML文档的结构。只有结构符合所引用的DTD文件的XML文件...

    XML学习指南 电子书

    第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器中显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    XSL全称是Extensible Stylesheet Language(可扩展样式语言), 是将来设计XML文档显示样式的主要文件类型。它本身也是基于XML语言的。使用XSL,你可以灵活的设置文档显示样式,文档将自动适应任何浏览器和PDA(掌上电脑...

    JDOM操作XML文件.doc

    这篇文章讲的不错~把JDOM的基本操作实例化了,不过由于当时的作者用的JDOM版本还比较陈旧,所以部分代码会编译出错!支持中文也不好!所以,法老在原作者的基础上对程序做了修改!休正了编译出错以及中文乱码的问题

    C#下通过LINQ实现对XML文档指定节点的删除操作

    之前操作XML文档基本上用的是XmlDocument对象,对一些小文件的操作使用还挺顺手,偶尔用来操作一个4M的XML文件,发现查询指定的节点并删除时执行时间很长。在Web项目下和控制台程序中都出现很长时间程序无响应,并且...

    C# 对XML基本操作代码总结

    具体如下: XML文件:文件在MyDocument文件夹下 代码如下: <?xml version=”1.0″ encoding=”utf-8″?> ”(test)work> ”Person1″> <ID>1</ID> <Name>XiaoA</Name> <Age>59</Age> </person> ”Person2″> ...

    XML高级编程

    当你读完它们之后,你将理解XML是什么,如何筹划它的结构,如何用代码操作XML文档。虽然XML技巧资源已经相当丰富,但你仍需要首先打好坚实的基础。所以关键的主线包括: ?第2章:格式正规的XML ?第3章:文档类型定义...

    XML操作动态库

    <br>//***************************************************************************** <br>//错误代码表 <br>//0:没有错误1:初始化对象失败2:没有加载文件3:找不到指定文件4:XML文档错误 <br>//5:...

    XML学习指南经典中文版

    第2章提供了一个手把手的练习,使你对创建XML文档并在Web浏览器中显示的全过程有一个大致印象。第二部分(第3章到第6章)重点介绍创建XML文档的规则和技术。第3章和第4章介绍怎样创建格式正确的XML文档—符合最基本...

    flask基本操作1

    flask基本操作之运用基本python虚拟程序运行,有flask基本概念,debug基本运用,基本实现代码等等

Global site tag (gtag.js) - Google Analytics