cs
//所需要添加的命名空间
using System.Xml;
//初始化一个xml实例
XmlDocument xml=new XmlDocument();
//导入指定xml文件
xml.Load("xml文件路径path");
//指定一个节点
XmlNode root=xml.SelectSingleNode("节点名称");
//获取节点下所有直接子节点
XmlNodeList childlist=root.ChildNodes;
//判断该节点下是否有子节点
root.HasChildNodes;
//获取同名同级节点集合
XmlNodeList nodelist=xml.SelectNodes("节点名称");
//生成一个新节点
XmlElement node=xml.CreateElement("节点名称");
//将节点加到指定节点下,作为其子节点
root.AppendChild(node);
//将节点加到指定节点下某个子节点前
root.InsertBefore(node,root.ChildeNodes[i]);
//为指定节点的新建属性并赋值
node.SetAttribute("id","11111");
//为指定节点添加子节点
root.AppendChild(node);
//获取指定节点的指定属性值
string id=node.Attributes["id"].Value;
//获取指定节点中的文本
string content=node.InnerText;
//保存XML文件
xml.Save("xml文件存储的路径path");
cs
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("book.xml");
XmlElement newBook = xmlDoc.CreateElement("Book");
newBook.SetAttribute("Id", "3");
newBook.SetAttribute("LibName", "xinhua");
newBook.SetAttribute("Price", "100");
var titleElem = xmlDoc.CreateElement("Title");
titleElem.InnerText = "Pro C#";
newBook.AppendChild(titleElem);
xmlDoc.DocumentElement?.AppendChild(newBook);
xmlDoc.Save("book.xml");
结果:
XML
源文件:
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Configure1>
</Configure1>
</Root>
执行后:
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Configure1>
</Configure1>
<Book Price="100" LibName="xinhua" Id="3">
<Title>Pro C#</Title>
</Book>
</Root>
找
cs
// 1. 先找到 <books> 节点
XmlNode booksNode = xmlDoc.SelectSingleNode("//books");
if (booksNode != null)
{
// 2. 从 books 里找:id=3 并且 name=xiyouji 的 book
XmlNode targetBook = booksNode.SelectSingleNode("book[@id='3' and name='xiyouji']");
if (targetBook != null)
{
// 找到了
}
}