作者:云都小生
修改指定属性的值
我们有这样一个XML配置文件。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Books>
<Book Name="雪国" Author="川端康成" Price="20" />
<book Name="挪威的森林" Author="村上春树" Price="30" />
</Books>
我想修改雪国这本书的价格。
//读取Books.xml文件
XmlDocument doc = new XmlDocument();
doc.Load("Books.xml");
//获取满足 Name='雪国' 的Book节点
XmlNode xn = doc.SelectSingleNode("/Books/Book[@Name='雪国']");
//将该节点的Price属性值改成30
xn.Attributes["Price"].Value = "30";
//保存该文件
doc.Save("Books.xml");
Console.WriteLine("修改成功!");
Console.ReadLine();
结果是
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Books>
<Book Name="雪国" Author="川端康成" Price="30" />
<Book Name="挪威的森林" Author="村上春树" Price="30" />
</Books>
删除整个节点
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Books>
<Book Name="雪国" Author="川端康成" Price="30" />
<Book Name="挪威的森林" Author="村上春树" Price="30" />
</Books>
还是这个配置文件,我们把所有Book节点删了。
XmlDocument doc = new XmlDocument();
doc.Load("Books.xml");
XmlNode xn = doc.SelectSingleNode("/Books/Book");
xn.RemoveAll();
doc.Save("Books.xml");
Console.WriteLine("删除成功");
Console.ReadKey();
删除满足某个条件的子节点
下面是XML文件的内容
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Subject>
<Java hour="40" />
<Java hour="60" />
</Subject>
删除hour属性值为40的节点
XmlDocument doc = new XmlDocument();
doc.Load("Subject.xml");
XmlNode xn = doc.SelectSingleNode("/Subject/Java[@hour=40]");
xn.RemoveAll();
doc.Save("Subject.xml");
Console.WriteLine("删除成功");
Console.ReadKey();
2018/4/13 16:18:39 @Author:云都小生