c#基础四
写入一个XML文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace _03写入一个XML文件
{
class Program
{
static void Main(string[] args)
{
//1、创建一个XML文档对象
XmlDocument doc = new XmlDocument();
//2、创建第一行描述信息
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
//3、将创建的第一行数据添加到文档中
doc.AppendChild(dec);
//4、给文档添加根节点
XmlElement books = doc.CreateElement("Books");
//5、将根节点添加给文档对象
doc.AppendChild(books); //6、给根节点添加子节点
XmlElement book1 = doc.CreateElement("Book");
//将子节点book1添加到根节点下
books.AppendChild(book1); //7、给book1添加子节点
XmlElement bookName1 = doc.CreateElement("BookName");
//8、设置标签中显示的文本
bookName1.InnerText = "水浒传";
book1.AppendChild(bookName1); XmlElement author1 = doc.CreateElement("Author");
author1.InnerText = "<authorName>匿名</authorName>";
book1.AppendChild(author1); XmlElement price1 = doc.CreateElement("Price");
price1.InnerXml = "<authorName>匿名</authorName>";
book1.AppendChild(price1); XmlElement des1 = doc.CreateElement("Des");
des1.InnerXml = "好看,顶!~!!!!";
book1.AppendChild(des1); Console.WriteLine("保存成功");
doc.Save("Book.xml");
Console.ReadKey();
}
}
}
添加带属性的XML文档
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace _04添加带属性的XML文档
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(dec); XmlElement order = doc.CreateElement("Order");
doc.AppendChild(order); XmlElement customerName = doc.CreateElement("CustomerName");
customerName.InnerXml = "刘洋";
order.AppendChild(customerName); XmlElement orderNumber = doc.CreateElement("OrderNumber");
orderNumber.InnerXml = "";
order.AppendChild(orderNumber); XmlElement items = doc.CreateElement("Items");
order.AppendChild(items); XmlElement orderItem1 = doc.CreateElement("OrderItem");
orderItem1.SetAttribute("Name", "码表");
orderItem1.SetAttribute("Count", "");
items.AppendChild(orderItem1); XmlElement orderItem2 = doc.CreateElement("OrderItem");
orderItem2.SetAttribute("Name", "雨衣");
orderItem2.SetAttribute("Count", "");
items.AppendChild(orderItem2); doc.Save("Order.xml");
Console.WriteLine("保存成功");
Console.ReadKey();
}
}
}
文档对象模型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace _05文档对象模型
{
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>();
list.Add(new Student() { ID = , Name = "yhb", Gender = '男', Age = });
list.Add(new Student() { ID = , Name = "wl", Gender = '女', Age = });
list.Add(new Student() { ID = , Name = "刘德华", Gender = '男', Age = });
list.Add(new Student() { ID = , Name = "张学友", Gender = '男', Age = });
list.Add(new Student() { ID = , Name = "哥哥", Gender = '男', Age = - }); XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null); doc.AppendChild(dec); XmlElement person = doc.CreateElement("Person");
doc.AppendChild(person); //通过循环List集合,获得所有对象 以节点的形式添加到XML文档中
for (int i = ; i < list.Count; i++)
{
XmlElement student = doc.CreateElement("Student");
student.SetAttribute("studentID", list[i].ID.ToString());
XmlElement name = doc.CreateElement("Name");
name.InnerXml = list[i].Name;
XmlElement age = doc.CreateElement("Age");
age.InnerXml = list[i].Age.ToString();
XmlElement gender = doc.CreateElement("Gender");
gender.InnerXml = list[i].Gender.ToString();
//添加
person.AppendChild(student);
student.AppendChild(name);
student.AppendChild(age);
student.AppendChild(gender); } doc.Save("Student.xml");
Console.WriteLine("保存成功");
Console.ReadKey(); }
} class Student
{
public int Age { get; set; }
public string Name { get; set; }
public int ID { get; set; }
public char Gender { get; set; }
}
}
对xml文档实现增删改查
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
namespace _06对xml文档实现增删改查
{
class Program
{
static void Main(string[] args)
{
//XMLDocument
#region 对xml文档实现追加的需求
//XmlDocument doc = new XmlDocument();
////首先判断xml文档是否存在 如果存在 则追加 否则创建一个
//if (File.Exists("Student.xml"))
//{
// //加载进来
// doc.Load("Student.xml");
// //追加
// //获得根节点 给根节点添加子节点
// XmlElement person = doc.DocumentElement; // XmlElement student = doc.CreateElement("Student");
// student.SetAttribute("studentID", "10");
// person.AppendChild(student); // XmlElement name = doc.CreateElement("Name");
// name.InnerXml = "我是新来哒";
// student.AppendChild(name); // XmlElement age = doc.CreateElement("Age");
// age.InnerXml = "18";
// student.AppendChild(age); // XmlElement gender = doc.CreateElement("Gender");
// gender.InnerXml = "女";
// student.AppendChild(gender); //}
//else
//{
// //不存在 // XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
// doc.AppendChild(dec); // XmlElement person = doc.CreateElement("Person");
// doc.AppendChild(person); // XmlElement student = doc.CreateElement("Student");
// student.SetAttribute("studentID", "110");
// person.AppendChild(student); // XmlElement name = doc.CreateElement("Name");
// name.InnerXml = "张三三李思思";
// student.AppendChild(name); // XmlElement age = doc.CreateElement("Age");
// age.InnerXml = "28";
// student.AppendChild(age); // XmlElement gender = doc.CreateElement("Gender");
// gender.InnerXml = "男";
// student.AppendChild(gender);
//} //doc.Save("Student.xml");
//Console.WriteLine("保存成功");
#endregion #region 读取XML文档
//XmlDocument doc = new XmlDocument(); //doc.Load("OrDER.xml"); ////还是 先获得根节点
//XmlElement order = doc.DocumentElement;
////获得根节点下面的所有子节点
//XmlNodeList xnl = order.ChildNodes; //foreach (XmlNode item in xnl)
//{
// Console.WriteLine(item.InnerText);
//}
//XmlElement items = order["Items"];
//XmlNodeList xnl2 = items.ChildNodes;
//foreach (XmlNode item in xnl2)
//{
// Console.WriteLine(item.Attributes["Name"].Value);
// Console.WriteLine(item.Attributes["Count"].Value); // if (item.Attributes["Name"].Value == "手套")
// {
// item.Attributes["Count"].Value = "新来哒";
// }
//} //doc.Save("OrDER.xml");
#endregion #region 使用XPath的方式来读取XML文件 //XmlDocument doc = new XmlDocument();
//doc.Load("order.xml");
////获得根节点
//XmlElement order = doc.DocumentElement;
//XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='雨衣']"); ////Console.WriteLine(xn.Attributes["Name"].Value); //xn.Attributes["Count"].Value = "woshi new"; //doc.Save("order.xml");
//Console.WriteLine("保存成功");
#endregion XmlDocument doc = new XmlDocument(); doc.Load("order.xml"); //doc.RemoveAll();不行 根节点不允许删除 XmlElement order = doc.DocumentElement; //order.RemoveAll();移除根节点下的所有子节点 // XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='雨衣']"); // //让orderItem去删除属性
// XmlNode orderItem = order.SelectSingleNode("/Order/Items/OrderItem"); // //获得Items节点 // //XmlNode items = order["Items"];//order.SelectSingleNode("/Order/Items"); //// items.RemoveChild(xn);移除当前节点 // //orderItem.RemoveAttributeNode(xn.Attributes["Count"]); // xn.Attributes.RemoveNamedItem("Count"); // doc.Save("order.xml");
// Console.WriteLine("删除成功");
// Console.ReadKey(); //XPath
}
}
}
c#基础四的更多相关文章
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Bootstrap<基础四> 代码
Bootstrap 允许您以两种方式显示代码: 第一种是 <code> 标签.如果您想要内联显示代码,那么您应该使用 <code> 标签. 第二种是 <pre> 标 ...
- Python 基础 四 面向对象杂谈
Python 基础 四 面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...
- C#_02.13_基础四_.NET方法
C#_02.13_基础四_.NET方法 一.方法概述: 方法是一块具有名称的代码.可以通过方法进行调用而在别的地方执行,也可以把数据传入方法并接受数据输出. 二.方法的结构: 方法头 AND 方法 ...
- day 68 Django基础四之模板系统
Django基础四之模板系统 本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法 模板渲染的官方文档 关 ...
- day 54 Django基础四之模板系统
Django基础四之模板系统 本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法 模板渲染的官方文档 关于模 ...
- Django基础四之测试环境和ORM查询
Django基础四之测试环境和ORM查询 目录 Django基础四之测试环境和ORM查询 1. 搭建测试环境 1.1 测试环境搭建方法: 1.2 使用测试环境对数据库进行CURD 1.3 返回Quer ...
- django-rest-framework 基础四 过滤、排序、分页、异常处理
django-rest-framework 基础四 过滤.排序.分页.异常处理 目录 django-rest-framework 基础四 过滤.排序.分页.异常处理 1. 过滤 1.1 内置过滤类 1 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- node.js(基础四)_express基础
一.前言 本次内容主要包括: 1.express的基本用法 2.express中的静 ...
随机推荐
- Angular语法(三)——数据绑定
绑定类型 绑定类型可以按照数据流的方向分为三类:从源到视图,从视图到源,以及双向序列 示例 <!-- Bind button disabled state to `isUnchanged` pr ...
- 2017 JavaScript 开发者的学习图谱
码云项目推荐 前端框架类 1.项目名称: 基于 Vue.js 的 UI 组件库 iView 项目简介:iView 是一套基于 Vue.js 的 UI 组件库,主要服务于 PC 界面的中后台产品. 特性 ...
- DotNetBar for Windows Forms 14.0.0.3_冰河之刃重打包版原创发布
关于 DotNetBar for Windows Forms 14.0.0.3_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- MVVM模式的几个开源框架
原文:MVVM模式的几个开源框架 实现MVVM的框架有很多,如: • MVVM Light Toolkit: http://mvvmlight.codeplex.com • Microsoft Pri ...
- WPF 启动唯一程序(项目,exe,实例)
原文:WPF 启动唯一程序(项目,exe,实例) 描述:用户多次快速开启WPF程序的时候 只运行起来 一个 程序(exe) 其他多开的 进程 自动关闭掉 App.xaml.cs文件 protecte ...
- 【Linux】samba服务
samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件. ①Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samb ...
- 使用tratto进行CISCO网络设备的管理
测试环境: CSR1000V CentOS7.4 X64 Step 1:在CentOS7上安装python 3.0环境 [root@docker ~]# python3 -VPython 3.7.0[ ...
- GIS基础软件及操作(六)
原文 GIS基础软件及操作(六) 练习六.空间分析的应用 1.加深对缓冲区分析基本原理.方法的认识:2.熟练掌握距离制图创建缓冲区技术方法.3.掌握利用缓冲区分析方法解决地学空间分析问题的能力. 1. ...
- Reverse Engineering Custom DataTypes -> GUID() in SQL Server to PostgreSQL
原文 https://archive.sap.com/discussions/thread/3641585 First you reverse engineer from a script where ...
- ef 查询总结
1.Linq 查询两张表:a表和b表,要得到的数据是a表数据b表没有 例如:a表有5条数据1,2,3,4,5:b表有2条数据1,3:那么就用dataGridView1输出2,4,5:link语句要怎么 ...