1、查询节点信息:
实体类成员:
class user
{
public string name { get; set; }
public int age { get; set; }
public string sex { get; set; }
}
查询节点成员信息:
XmlDocument xml = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;//忽略xml文件中的注释
XmlReader xmlReader = XmlReader.Create(@"../../DataXml.xml", settings);
xml.Load(xmlReader);
XmlNode node = xml.SelectSingleNode("users");//查询根节点
//查询根节点中的所有子节点
XmlNodeList nodeList = node.ChildNodes;
List<user> list = new List<user>();
foreach (XmlNode nodeItem in nodeList)
{
user user = new user();
XmlElement xEle = (XmlElement)nodeItem;
XmlNodeList nodes = xEle.ChildNodes;
user.name = nodes.Item(0).InnerText;
user.age = int.Parse(nodes.Item(1).InnerText);
user.sex = nodes.Item(2).InnerText;
list.Add(user);
}
xmlReader.Close();
2、新增节点信息:
user userInfo = new user() { name = txt_name.Text, age = int.Parse(txt_age.Text), sex = txt_sex.Text };
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"../../DataXml.xml");
XmlNode xNode = xmlDoc.SelectSingleNode("users");//获取根节点信息
XmlElement xeChild = xmlDoc.CreateElement("user");
//利用反射获取这个实体中的成员信息
Type t = userInfo.GetType();
PropertyInfo[] properties = t.GetProperties();
foreach (PropertyInfo perproty in properties)//遍历添加子成员信息
{
XmlElement xmlNode = xmlDoc.CreateElement(perproty.Name);//创建一个子子节点
xmlNode.InnerText = perproty.GetValue(userInfo).ToString();//给这个节点赋值
xeChild.AppendChild(xmlNode);//将这个节点追加到根节点的下属子节点中去
}
xNode.AppendChild(xeChild);//追加自己诶单
xmlDoc.Save(@"../../DataXml.xml");
3、删除节点信息:
XmlDocument doc = new XmlDocument();
doc.Load(@"../../DataXml.xml");//加载xml文档
XmlElement xe = doc.DocumentElement;//获取xml文档中的元素
string xmlNodePath = $"/users/user[name=\"赵照\"]";//要删除的某个节点的路径信息
XmlElement selectXml = (XmlElement)xe.SelectSingleNode(xmlNodePath);//查询该路径下面的节点信息
selectXml.ParentNode.RemoveChild(selectXml);//删除该节点信息
doc.Save(@"../../DataXml.xml");
4、修改节点信息:
XmlDocument doc = new XmlDocument();
doc.Load(@"../../DataXml.xml");//加载xml文档
XmlElement xe = doc.DocumentElement;//获取xml文档中的元素
string xmlNodePath = $"/users/user[name=\"赵照\"]";//要删除的某个节点的路径信息
XmlElement selectXml = (XmlElement)xe.SelectSingleNode(xmlNodePath);//查询该路径下面的节点信息
selectXml.GetElementsByTagName("name").Item(0).InnerText = "赵照-2019-08-26 修改";
selectXml.GetElementsByTagName("age").Item(0).InnerText = "33";
selectXml.GetElementsByTagName("sex").Item(0).InnerText = "男";
doc.Save(@"../../DataXml.xml");
欣赏别人的谈吐,会提高我们的口才;欣赏别人的大度,会开阔我们的心胸;欣赏别人的善举,会净化我们的心灵。欣赏别人其实是少一点挑剔,多一点信任;多一点热情,少一点冷漠;多一点仰视,少一点鄙夷。欣赏多一点,矛盾和误解定会少一点,人与人的距离才会更近一点。