首页 > 代码库 > Xml学习笔记(2)

Xml学习笔记(2)

 

不同的xml文档构可能要用到不同的方法进行解析这里用到的是例如<student name="张三" id="1" sex="男"/>这样的结构进行的解析

#region 对属性的操作|修改|添加|删除


foreach (XmlNode node in root.ChildNodes)
{
if (node.Attributes["id"].Value =http://www.mamicode.com/="1")
{
//修改属性的值
//node.Attributes["id"].Value = "http://www.mamicode.com/5";
//node.Attributes["name"].Value = "http://www.mamicode.com/5";
}
if (node.Attributes["id"].Value =http://www.mamicode.com/="1")
{
//添加一个属性
//XmlAttribute sex = doc.CreateAttribute("sex");
//sex.Value = "http://www.mamicode.com/男";
//node.Attributes.Append(sex);
}
if (node.Attributes["id"].Value =http://www.mamicode.com/="2")
{
//移除一个属性
//node.Attributes.Remove(node.Attributes["age"]);
}
if (node.Attributes["id"].Value =http://www.mamicode.com/="2")
{
//移除整个节点
//node.ParentNode.RemoveChild(node);
}
}

/*
* 增加节点及节点属性
*/
XmlElement childNode = doc.CreateElement("Student"); //创建一个节点对象
root.AppendChild(childNode); //追加到根节点里
XmlAttribute attribute = doc.CreateAttribute("id"); //创建一个属性对象
attribute.Value = "http://www.mamicode.com/6"; //为属性赋值
childNode.Attributes.Append(attribute); //为节点添加属性
doc.Save("Students.xml");
#endregion
#endregion

#region Xml的其他操作
XmlDocument doc = new XmlDocument();
doc.Load("School.xml");
#region Xml选中某个节点
XmlNodeList node = doc.SelectNodes("School/Grade[@name=‘S1‘]/Class/Student[@id>2]"); //xpath表达式得到匹配表达式的节点对象
foreach (XmlNode item in node)
{
Console.WriteLine(item.Attributes["name"].Value);
}
#endregion

#endregion

Xml学习笔记(2)