知识点目录==========>传送门

XML是什么就不用说了文本标记语言。

主要纪录如何对XML文件进行增删改查。

Xml的操作类都存在System.xml命名空间下面。

应用型的直接上代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml; namespace XMLTest
{
class Program
{
static void Main(string[] args)
{
//1.创建XML文档对象
XmlDocument doc = new XmlDocument(); //创建头
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null); //添加节点
doc.AppendChild(xmlDeclaration);
XmlElement xmlElement = doc.CreateElement("Persons"); //给节点添加属性
xmlElement.SetAttribute("Name", "一小时小超人");
doc.AppendChild(xmlElement); XmlElement xmlElement1 = doc.CreateElement("Person");
//给节点添加文字
xmlElement1.InnerXml = "小超人";
xmlElement.AppendChild(xmlElement1);
doc.Save("Test.xml"); }
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="一小时小超人">
<Person>小超人</Person>
</Persons>

这个地方主要讲一下 XmlElement.InnerXml和XmlElement.InnerText的区别。代码演示

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml; namespace XMLTest
{
class Program
{
static void Main(string[] args)
{
//1.创建XML文档对象
XmlDocument doc = new XmlDocument(); //创建头
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null); //添加节点
doc.AppendChild(xmlDeclaration);
XmlElement xmlElement = doc.CreateElement("Persons"); //给节点添加属性
xmlElement.SetAttribute("Name", "一小时小超人"); doc.AppendChild(xmlElement); XmlElement xmlElement1 = doc.CreateElement("Person");
//给节点添加文字
xmlElement1.InnerXml = "<演示>小超人</演示>";
xmlElement.AppendChild(xmlElement1);
XmlElement xmlElement2 = doc.CreateElement("Person");
//给节点添加文字
xmlElement2.InnerText = "<演示>小超人</演示>";

        //给节点添加属性
        xmlElement2.SetAttribute("name", "一小时小超人");

            xmlElement.AppendChild(xmlElement2);

            doc.Save("Test.xml");

        }
}
}

<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="一小时小超人">
<Person>
<演示>小超人</演示>
</Person>
<Person name="一小时小超人">&lt;演示&gt;小超人&lt;/演示&gt;</Person>
</Persons>

 

很明显的看出来如果字符串是个标签,Interxml会当成标签给你添加,innterText会转义。

下面演示一下读取操作

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml; namespace XMLTest
{
class Program
{
static void Main(string[] args)
{
//1.创建XML文档对象
XmlDocument doc = new XmlDocument();
if (File.Exists("Test.xml"))
{
//通过文件名加载Xml,也可以通过流之类的,其他重载方法,看文档。
doc.Load("Test.xml"); //获取根节点
XmlElement xmlElement = doc.DocumentElement; //获取根节点下面的子节点集合
XmlNodeList nodeList = xmlElement.ChildNodes;
//循环取每一个子节点
foreach (XmlNode item in nodeList)
{ Console.WriteLine(item.Name); //获取节点属性
//string attributesValue=item.Attributes["属性名称"].Value;
}
Console.ReadKey();
} }
}
}

上面代码把常用的操作列出来了,其他的很多操作。就不一一列举了。。。。。。。。。。。。。

10.C#知识点:操作XML的更多相关文章

  1. SqlServer知识点-操作xml

    一.开发环境 SQL2010 二.开发过程 1.声明一个xml类型变量 DECLARE @xmlInfo XML; SET @xmlInfo = '<CompanyGroup> <C ...

  2. C#知识点:操作XML

    XML是什么就不用说了文本标记语言. 主要纪录如何对XML文件进行增删改查. Xml的操作类都存在System.xml命名空间下面. 应用型的直接上代码 using System; using Sys ...

  3. 第12章 在.NET中操作XML

    12.1 XML概述 12.1.1 为什么要有XML 12.1.2 XML文档结构 (1)文档声明 <?xml version="1.0"encoding="UTF ...

  4. C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】

    已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  5. VBA中操作XML

    OFFICE2007之后使用了OpenXml标准(伟大的改变),定制文本级的Ribbon可以通过修改压缩包内的xml文件来实现. 先学习一下VBA中操作XML的方法 先引用Microsoft XML ...

  6. C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍

    一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <mes ...

  7. 黄聪:C#操作xml SelectNodes,SelectSingleNode通过 xPath 定位class包含Contains的DIV

    一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <mes ...

  8. C#操作xml的3种方式

    C#操作Xml有很多种方式,这里写出个人常使用的三种方式 XmlDocument DataSet linq to xml  首先声明本次操作使用的xml文件:books.xml:内容如下 <?x ...

  9. asp.net操作xml(增删查改)

    asp.net操作xml 1.xml文档Products.xml <?xml version="1.0" encoding="utf-8"?> &l ...

随机推荐

  1. Windows核心编程:第7章 线程调度、优先级和关联性

    Github https://github.com/gongluck/Windows-Core-Program.git //第7章 线程调度.优先级和关联性.cpp: 定义应用程序的入口点. // # ...

  2. 使用ActionFilterAttribute实现MVC后台授权

    授权就是我们在用户未登录的情况下不允许访问一些页面,只有登录后才能进行访问一些页面. 在mvc中我们可以使用ActionFilterAttribute来进行授权验证来阻止一些未经授权的直接访问的页面. ...

  3. Lerning Entity Framework 6 ------ Defining the Database Structure

    There are three ways to define the database structure by Entity Framework API. They are: Attributes ...

  4. 分组,命名分组,url的命名和反向解析

    1.位置分组 匹配到参数,按照位置参数的方式传递给视图函数 视图函数需要定义形参接收变量 1.写在url里面的: # 删除 url(r'^del_class/(\d+)',views.del_clas ...

  5. vue项目经验:图形验证码接口get请求处理

    一般图形验证码处理: 直接把img标签的src指向这个接口,然后在img上绑定点击事件,点击的时候更改src的地址(在原来的接口地址后面加上随机数即可,避免缓存) <img :src=" ...

  6. Data - Hadoop伪分布式配置 - 使用Hadoop2.8.0和Ubuntu16.04

    系统版本 anliven@Ubuntu1604:~$ uname -a Linux Ubuntu1604 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb ...

  7. 【LeetCode】200. 岛屿的个数

    题目 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的.你可以假设网格的四个边均被水包围. 示例 1:输 ...

  8. 手推SVM

    推不动了,改日再更!

  9. [Leetcode]303.区域和检索&&304.二维区域和检索

    题目 1.区域和检索: 简单题,前缀和方法 乍一看就觉得应该用前缀和来做,一个数组多次查询. 实现方法: 新建一个private数组prefix_sum[i],用来存储nums前i个数组的和, 需要找 ...

  10. flask加vue 动画 加载更多

    曾经使用flask_paginate(地址:https://blog.csdn.net/qq_42239520/article/details/80378095)进行分页,现在又想新的想法,怎么才能和 ...