【Winfrom】
//创建
//1.xml注释 不能嵌套 注释中间不能出现-- 不能xml声明之前
//创建xml文档对象
XmlDocument doc = new XmlDocument();
//声明
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes");
doc.AppendChild(dec);
//根节点
XmlElement root = doc.CreateElement("用户列表");
doc.AppendChild(root);
//创建用户节点
XmlElement user = doc.CreateElement("用户");
user.SetAttribute("id", "1");//属性
XmlElement userName = doc.CreateElement("姓名");//姓名节点
XmlText textName = doc.CreateTextNode("张三");//姓名的内容
userName.AppendChild(textName);
user.AppendChild(userName);
XmlElement userAge = doc.CreateElement("年龄");//姓名节点
XmlText textAge = doc.CreateTextNode("23");//姓名的内容
userAge.AppendChild(textAge);
user.AppendChild(userAge);
XmlElement userDept = doc.CreateElement("部门");//姓名节点
XmlText textDept = doc.CreateTextNode("人事部");//姓名的内容
userDept.AppendChild(textDept);
user.AppendChild(userDept);
root.AppendChild(user);
doc.Save("MyNewXML.xml");
//读取
XmlDocument doc = new XmlDocument();
doc.Load("MyNewXML.xml");//加载xml文件
//doc.LoadXml("字符串");
XmlElement root = doc.DocumentElement;//根节点
//根据标记名称
XmlNodeList list = root.GetElementsByTagName("用户");
foreach (XmlNode item in list)
{
string id = ((XmlElement)item).GetAttribute("Id");//区别大小写
string name = ((XmlElement)item).GetElementsByTagName("姓名")[0].InnerText;
string age = ((XmlElement)item).GetElementsByTagName("年龄")[0].InnerText;
string deptName = ((XmlElement)item).GetElementsByTagName("部门")[0].InnerText;
Console.WriteLine("id:{0},姓名:{1},年龄:{2},部门:{3}",id,name,age,deptName);
}
//添加
XmlDocument doc = new XmlDocument();
doc.Load("MyNewXML.xml");//加载xml文件
XmlElement root=doc.DocumentElement;
//XPath 快速的定位到xml文档的节点
//获取单个节点
XmlElement sel = (XmlElement)root.SelectSingleNode("/用户列表/用户[@id='3']");
//问题1根据节点名称获取节点已解决,代码如下:
XmlElement sel1 = (XmlElement)root.SelectSingleNode("/用户列表/用户[姓名='小刘']");
Console.WriteLine(sel1.InnerText);

浙公网安备 33010602011771号