1.XML文件的创建
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace ConsoleApp1
{
class Xml文件的使用
{
static void Main(string args)
{
//DOMC操作XML文件【文档对象模型】
//1.创建一个XML文档对象
XmlDocument doc = new XmlDocument();
//2.创建第一行的描述信息
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
//3.将创建的第一行数据添加到文档中
doc.AppendChild(dec);
//4.给文档添加根节点
XmlElement book = doc.CreateElement("Books");
//5.将根节点添加给文档对象
doc.AppendChild(book);
//6.给根节点添加子节点
XmlElement book1 = doc.CreateElement("Book");
//将book1添加到根节点book
book.AppendChild(book1);
//7.给book1添加子节点
XmlElement bookName1 = doc.CreateElement("BookName");
//8.设置标签中的描述文本信息
bookName1.InnerText = "水浒传";
book1.AppendChild(bookName1);
XmlElement author1 = doc.CreateElement("Author");
author1.InnerText = "秀秀";
book1.AppendChild(author1);
XmlElement price1 = doc.CreateElement("Price");
price1.InnerText = "100MB";
book1.AppendChild(price1);
XmlElement des1 = doc.CreateElement("Des");
des1.InnerText = "太好看了!!!";
book1.AppendChild(des1);
doc.Save("Book.xml");
Console.WriteLine("保存成功!");
}
}
}
2.对XML文件实现基本的增删改查
//对现有的XMl文件实现增删改查
XmlDocument docc = new XmlDocument();
//首先判断一个Xml文件是否存在, 如果存在,则追加; 否则就创建一个
if (File.Exists("Person.xml"))
{
//追加操作
//1.加载文件
docc.Load("Person.xml");
//2.获得根节点
XmlElement root = docc.DocumentElement;
//3.添加一个新的节点
XmlElement student = docc.CreateElement("Student");
root.AppendChild(student);
XmlElement name = docc.CreateElement("Name");
name.InnerXml = "马克思主义乖巧";
XmlElement age = docc.CreateElement("Age");
age.InnerXml = "22";
XmlElement gender = docc.CreateElement("Gender");
gender.InnerXml = "女";
student.AppendChild(name);
student.AppendChild(age);
student.AppendChild(gender);
}
else
{
//创建一个新的
XmlDeclaration dec = docc.CreateXmlDeclaration("1.0", "utf-8", null);
docc.AppendChild(dec);
//创建根节点
XmlElement root = docc.CreateElement("Student");
docc.AppendChild(root);
//3.添加一个新的节点
XmlElement student = docc.CreateElement("Student");
root.AppendChild(student);
XmlElement name = docc.CreateElement("Name");
name.InnerXml = "马克思主义乖巧";
XmlElement age = docc.CreateElement("Age");
age.InnerXml = "22";
XmlElement gender = docc.CreateElement("Gender");
gender.InnerXml = "女";
student.AppendChild(name);
student.AppendChild(age);
student.AppendChild(gender);
}
//记得保存
docc.Save("Person.xml");
Console.WriteLine("文件保存成功!");
//查看Xml文件
//1.获得文档的根
XmlElement book = docc.DocumentElement;
//2.获得下面的所有子节点
XmlNodeList xnl = book.ChildNodes;
foreach (XmlNode item in xnl)
{
Console.WriteLine(item.InnerText);
}
//获得Student的节点
Console.WriteLine("获得Student的节点:");
XmlElement items = book;
//获得子节点信息
XmlNodeList xnl2 = items.ChildNodes;
foreach (XmlNode item in xnl2)
{
Console.WriteLine(item.InnerXml);
if (item.InnerXml == "22")
{
item.InnerXml = "66";
}
docc.Save("Person.xml");
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
namespace ConsoleApp1
{
class XML文件的增删改查
{
static void Main(string args)
{
//创建一个XMl文档
XmlDocument doc = new XmlDocument();
//Xml文件的加载
if (File.Exists("Order.xml"))
{
//加载文件
doc.Load("https://laod.cn/sitemap.xml");
//开始修改(拿到了根节点)
XmlElement root = doc.DocumentElement;
//获得子节点
XmlNodeList nl = doc.ChildNodes;
//先获得Items项
XmlElement items = root;
foreach (XmlNode item in items)
{
//Console.WriteLine(item.InnerText);
Console.Write(item.Attributes.Value+" ");
Console.WriteLine(item.Attributes.Value);
if (item.Attributes.Value == "马克思")
{
item.Attributes.Value = "马克思主义乖巧";
item.Attributes.Value = "1008611";
}
}
doc.Save("Order.xml");
}
else
{
//新建一个
}
}
}
}
3.XPATH方式来实现增删改查
//使用Xpath的方式来读取Xml文件
XmlDocument doc = new XmlDocument();
doc.Load("Order.xml");
//获得根节点
XmlElement order = doc.DocumentElement;
//查
XmlNode xn = order.SelectSingleNode("/Order/OrderNumber");
XmlNode xnn = order.SelectSingleNode("/Order/Items/OrderItem");
Console.WriteLine(xn.InnerXml);
Console.WriteLine(xnn.Attributes.Value);
//修改(增加)
xnn.Attributes.Value = "我是一个新的中国人!";
Console.WriteLine(xnn.Attributes.Value);
//删除
Console.WriteLine("删除");
//doc.RemoveAll(); //error:根节点不能删除
//移除根节点下面的所有子节点
XmlElement ord = doc.DocumentElement;
//删除指定节点
XmlNode xnnn = order.SelectSingleNode("/Order/Items/OrderItem");
//获得Items节点
XmlNode items = order;//order.SelectSingleNode("/Order/Items");
//移除当前节点的子节点
items.RemoveChild(xnnn);
//删除一个指定节点的属性
//XmlNode orderItem = order.SelectSingleNode("/Order/Items/OrderItem");
xnnn = order.SelectSingleNode("/Order/Items/OrderItem");
xnn.Attributes.RemoveNamedItem("Count"); // 删除xnn节点下面的Count属性
//ord.RemoveAll(); //删除所有的
doc.Save("Order.xml");
评论
填写昵称与邮箱即可评论,无需登录。