XML文件操作(C#)

  XML应用于Web开发的许多方面,常用于简化数据的存储和共享,它的设计宗旨是传输数据,而非显示数据。下面简单介绍一下C#是如何对XML文件进行读取的。

1、首先,建立XML对象并关联XML文件

string xmlFileName = "student.xml";

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFileName);

2、获取到xml文件的根节点

//获取到xml文件的根节点
XmlElement nodeRoot = xmlDoc.DocumentElement;

3、创建新节点

//创建一个新节点
XmlElement nodeNew = xmlDoc.CreateElement("student");
//创建新节点的孩子节点
XmlElement nodeNum = xmlDoc.CreateElement("num");
XmlElement nodeName = xmlDoc.CreateElement("name");
XmlElement nodeAge = xmlDoc.CreateElement("age");
//把孩子节点与新节点建立父子关系
nodeNew.AppendChild(nodeNum);
nodeNew.AppendChild(nodeName);
nodeNew.AppendChild(nodeAge);
//创建节点文本,并关联节点
XmlText txtNum = xmlDoc.CreateTextNode("001");
XmlText txtName = xmlDoc.CreateTextNode("张三");
XmlText txtAge = xmlDoc.CreateTextNode("22");
nodeNum.AppendChild(txtNum);
nodeName.AppendChild(txtName);
nodeAge.AppendChild(txtAge);

4、添加新建的节点到文件

//添加新建的节点
nodeRoot.AppendChild(nodeNew);//添加到根节点
//nodeRoot.InsertBefore(nodeNew, nodeRoot.FirstChild);//添加到尾部

5、删除节点

if (nodeRoot.HasChildNodes)
{
    nodeRoot.RemoveChild(nodeRoot.FirstChild);//删除首个节点
}

6、遍历节点

//遍历student.xml,查看指定节点的age值
XmlNodeList studentList = nodeRoot.SelectNodes("*");
foreach (XmlNode student in studentList)
{
    if (student.FirstChild.InnerText.Equals("004"))
    {
        XmlNodeList stuChidNodeList = student.SelectNodes("*");
        foreach (XmlNode stuChileNode in stuChidNodeList)
        {
            if (stuChileNode.Name.Equals("age"))
            {
                Console.Write(stuChileNode.InnerText + " ");
            }
        }
        Console.WriteLine();
        break;
    }
    else
    {
        continue;
    }
}

7、保存XML文件

//保存xml
xmlDoc.Save(xmlFileName);

附件:

  实验XML文件(student.xml)

<?xml version="1.0" encoding="utf-8"?>
<!--学生根节点-->
<students>
  <student class="clss1">
    <num>002</num>
    <name>hello2</name>
    <age>22</age>
  </student>
  <student class="clss2">
    <num>003</num>
    <name>hello3</name>
    <age>88</age>
  </student>
  <student>
    <num>004</num>
    <name>faf</name>
    <age>43</age>
  </student>
  <student>
    <num>005</num>
    <name>新人</name>
    <age>22</age>
  </student>
  <student>
    <num>006</num>
    <name>新人</name>
    <age>22</age>
  </student>
  <student>
    <num>001</num>
    <name>张三</name>
    <age>22</age>
  </student>
  <student>
    <num>001</num>
    <name>张三</name>
    <age>22</age>
  </student>
</students>

student.xml

相关链接:

  XML基础教程:http://www.w3school.com.cn/xml/index.asp

时间: 2024-10-06 00:53:26

XML文件操作(C#)的相关文章

xml文件操作

一.xml文件操作1.了解xml文件的SAX解析方式 1.1SAX解析XML  //第一步:解析xml的对象  //工厂模式   SAXParser parser = SAXParserFactory       .newInstance()       .newSAXParser();  //第二步:获得xml文件   InputStream is = getResources().openRawResource(R.raw.shu);  //第三步: 处理器   DefaultHandler

python解析xml文件操作的例子

python解析xml文件操作实例,操作XML文件的常见技巧. xml文件内容: <?xml version="1.0" ?> <!--Simple xml document__chapter 8--> <book> <title> sample xml thing </title> <author> <name> <first> ma </first> <last>

VS之XML文件操作

XML,可扩展的标识语言(eXtensible Markup Language),具有多种优势,所以现在被广泛使用,本文通过一个简单的例子来实现对XML文件的保存和读取操作. 使用工具:VS2008 使用语言:C++ 开发步骤: 1.新建对话框程序 2.添加XML相关类 该类摘自网络 Markup.h // Markup.h: interface for the CMarkup class. // // Markup Release 8.2 // Copyright (C) 1999-2006

PHP对XML文件操作详细

DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节点的定义(只读) Doctype 指定文档类型节点(只读) documentElement 返回文档的根元素(可读写) firstChild 返回当前节点的第一个子节点(只读) Implementation 返回XMLDOMImplementation对象 las

7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml

 数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml.所有的key皆为char *型,value类型为bool intfloat double std::string. 读操作 bool getBoolForKey(const char* pKey); bool getBoolForKey(const char* pKey, bool

Spring Batch 简单应用 (三)(XML文件操作)

前篇关于Spring Batch的文章,讲述了Spring Batch 对CSV文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对XML文件的读写操作.实例流程是从一个XML文件中读取商品信息,经过简单的处理,写入另外一个XML文件中. 工程结构如下图: log4j.xml是log处理的配置文件,与本文没有必然联系,再此不做论述. application.xml文件内容如下: 按 Ctrl+C 复制代码 <?xml version="1.0"

XML文件操作之dom4j

能够操作xml的api还是挺多的,DOM也是可以的,不过在此记录下dom4j的使用,感觉确实挺方便的 所需jar包官网地址:http://www.dom4j.org/dom4j-1.6.1/ dom4j相关的重要类和方法 SAXReader,用于读取外部的xml文件,实例 SAXReader reader=new SAXReader(); Document document=reader.read(new File("f:/test.xml")); SAXReader 的read方法可

XML文件操作类--创建XML文件

这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace testForm { class Operation_APPCFG { XmlDocument xmldoc; XmlNode

XML文件操作类VXML

敬告 VXML.cs不是一个通用的类.仅仅是作者为了方便自己的程序编写. 下载地址 https://github.com/velscode/V-CS-ClassLib 使用说明 目标XML文件,存储了数据库连接的一些参数 实例化.打开XML文件,查询database的userid属性并显示 运行结果 源代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys

C# XML文件操作类XmlHelper

类的完整代码: using System;using System.Collections;using System.Xml; namespace Keleyi.Com.XmlDAL{public class XmlHelper{#region 公共变量XmlDocument xmldoc;XmlNode xmlnode;XmlElement xmlelem;#endregion #region 创建Xml文档/// <summary>/// 创建一个带有根节点的Xml文件/// </s