.net XML操作

一、常规介绍

        //初始化一个xml对象
        XmlDocument xml = new XmlDocument();
        //加载xml文件
        xml.Load("文件路径");
        //读取指定的节点
        XmlNode xmlNode = xml.SelectSingleNode("/节点名");
        //判断节点下是否有子节点
        xmlNode.HasChildNodes;
        //读取节点下的所有子节点
        XmlNodeList xmlNodeList = xmlNode.ChildNodes;
        //读取同名同级多个节点列表
        XmlNodeList xmlNodeList = xml.SelectNodes("/root/节点名");
        //读取节点的属性
        string attribute = xmlNode.Attributes["属性名"].Value;
        //读取节点的文本
        string value = xmlNode.InnerText;

        //创建一个新的节点
        XmlNode xmlNode = xml.CreateElement("节点名");

        //保存xml文件
        xml.Save("文件路径");

二、添加一个节点

            XmlDocument xmlDoc=new XmlDocument();
            xmlDoc.Load(Server.MapPath("data.xml"));
            XmlNode root=xmlDoc.SelectSingleNode("Employees");//查找<Employees>
            XmlElement xe1=xmlDoc.CreateElement("Node");//创建一个<Node>节点
            xe1.SetAttribute("genre","张三");//设置该节点genre属性
            xe1.SetAttribute("ISBN","1-1111-1");//设置该节点ISBN属性
            XmlElement xesub1=xmlDoc.CreateElement("title");
            xesub1.InnerText="C#入门帮助";//设置文本节点
            xe1.AppendChild(xesub1);//添加到<Node>节点中
            XmlElement xesub2=xmlDoc.CreateElement("author");
            xesub2.InnerText="高手";
            xe1.AppendChild(xesub2);
            XmlElement xesub3=xmlDoc.CreateElement("price");
            xesub3.InnerText="158.3";
            xe1.AppendChild(xesub3);
            root.AppendChild(xe1);//添加到<Employees>节点中
            xmlDoc.Save ( Server.MapPath("data.xml") );

三、编辑节点

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("data.xml"));
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("Employees").ChildNodes;//获Employees  节  点  的       所有子节点
            foreach (XmlNode xn in nodeList)//遍历所有子节点
            {
                XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
                if (xe.GetAttribute("genre") == "张三")//如果genre属性值为“张三”
                {
                    xe.SetAttribute("genre", "update张三");//则修改该属性为“update张三”
                    XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
                    foreach (XmlNode xn1 in nls)//遍历
                    {
                        XmlElement xe2 = (XmlElement)xn1;//转换类型
                        if (xe2.Name == "author")//如果找到
                        {
                            xe2.InnerText = "亚胜";//则修改
                        }
                    }
                }
            }
            xmlDoc.Save(Server.MapPath("data.xml"));//保存。

四、删除节点中的某一个属性

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("data.xml"));
            XmlNodeList xnl = xmlDoc.SelectSingleNode("Employees").ChildNodes;
            foreach (XmlNode xn in xnl)
            {
                XmlElement xe = (XmlElement)xn;
                xe.RemoveAttribute("genre");//删除genre属性
                XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
                foreach (XmlNode xn1 in nls)//遍历
                {
                    XmlElement xe2 = (XmlElement)xn1;//转换类型
                    if (xe2.Name == "flag")//如果找到
                    {
                        xe.RemoveChild(xe2);//则删除
                    }
                }
            }
            xmlDoc.Save(Server.MapPath("data.xml"));

六、删除节点

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("data.xml"));
            XmlNode root = xmlDoc.SelectSingleNode("Employees");
            XmlNodeList xnl = xmlDoc.SelectSingleNode("Employees").ChildNodes;
            for (int i = 0; i < xnl.Count; i++)
            {
                XmlElement xe = (XmlElement)xnl.Item(i);
                if (xe.GetAttribute("genre") == "张三")
                {
                    root.RemoveChild(xe);
                    if (i < xnl.Count) i = i - 1;
                }
            }
            xmlDoc.Save(Server.MapPath("data.xml"));

七、按照文本读取XML

            System.IO.StreamReader myFile =new
            System.IO.StreamReader(Server.MapPath("data.xml"),System.Text.Encoding.Default);
            //注意System.Text.Encoding.Default
            string myString = myFile.ReadToEnd();//myString是读出的字符串
            myFile.Close();
时间: 2024-08-06 14:02:06

.net XML操作的相关文章

XML操作

XML: XML 指可扩展标记语言 XML 被设计用来传输和存储数据. XML 被设计用来结构化.存储以及传输信息. xml文档展示: -----------------------------xml文档 <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading

c#xml操作

简单的xml操作--解析技能xml xml文件 <skills> <skill> <id>1</id> <name lang="cn">大荒囚天指</name> <demage>100</demage> </skill> <skill> <id>2</id> <name lang="en">绝对零度</na

使用 IntraWeb (31) - IntraWeb 的 Xml 操作使用的是 NativeXml

在 IWNativeXml 单元. 知道了这个, 以后在其他 Delphi 程序中也可以直接 Uses IWNativeXml 了. TNativeXml (IWNativeXml.TNativeXml property AbortParsing: Boolean property BinaryEncoding: TBinaryEncodingType property CommentString: UTF8String property DropCommentsOnParse: Boolean

C#对一个XML操作的实用类

using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.Data; using System.IO; namespace eBlog.Common.Files { public class XmlHelper { protected string strXmlFile; protected XmlDocument objXmlDoc = new XmlDoc

C#常用操作类库三(XML操作类)

/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { protected string strXmlFile; protected XmlDocument objXmlDoc = new XmlDocument(); public XmlHelper(string XmlFile) { // // TODO: 在这里加入建构函式的程序代码 // try { objX

php xml 操作。

参考 文章:http://www.cnblogs.com/zcy_soft/archive/2011/01/26/1945482.html DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节点的定义(只读) Doctype 指定文档类型节点(只读) documentElement 返回文档的根元素(可读写) fi

C#:XML操作类

写的一个XML操作类,包括读取/插入/修改/删除. using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlContro

Python XML操作

XML(可扩展性标记语言)是一种非常常用的文件类型,主要用于存储和传输数据.在编程中,对XML的操作也非常常见. 本文根据python库文档中的xml.etree.ElementTree类来进行介绍XML的解析:https://docs.python.org/3.5/library/xml.etree.elementtree.html BTW,xml.etree.cElementTree模块从3.3以后就被弃用了. XML格式 首先,来看一下XML所包含的元素类型 1. 标签 <tag> 2.

xml 操作

//////////////////////////////////////////////////////////////////////////// 要操作的xml文件 <?xml version="1.0" encoding="GB2312" standalone="no"?><PhoneInfo>    <Brand name="华为">        <Type name=&

C# XML 操作

1 xml文件格式 <?xml version="1.0" encoding="utf-8"?> <userInfo> <userName>sa</userName> <userPwd>111111</userPwd> </userInfo> 2 关键代码 2.1 MUserInfo.cs // ********************************************