XmlDocument xmlDoc=new XmlDocument();//先创建一个xmldocument文档对象
/// <summary>
/// 加载xml文档
/// </summary>
/// <returns></returns>
public void LoadXml()
{
xmlDoc.Load(Server.MapPath("/xmldemo/person.xml"));//load里面跟文档名称 带上文件的路径
}
//添加节点
private void AddElement()
{
LoadXml();
XmlNode xmlNode = xmlDoc.SelectSingleNode("user");
XmlElement xmlEle = xmlDoc.CreateElement("person");
xmlEle.SetAttribute("name","清风");
xmlEle.SetAttribute("sex", "男");
xmlEle.SetAttribute("age", "23");
xmlNode.AppendChild(xmlEle);
//添加pass节点
XmlElement xmlEle1 = xmlDoc.CreateElement("pass");
xmlEle1.InnerText = "123456";
xmlEle.AppendChild(xmlEle1);
//添加Address节点
XmlElement xmlEle2 = xmlDoc.CreateElement("Address");
xmlEle2.InnerText = "河南省开封市开封县";
xmlEle.AppendChild(xmlEle2);
xmlDoc.AppendChild(xmlNode);
xmlDoc.Save(Server.MapPath("/xmldemo/person.xml"));//保存文档
}
//修改节点
private void UpdateElement()
{
LoadXml();
XmlNodeList nodeList = xmlDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点
foreach (XmlNode node in nodeList)
{
XmlElement xmlEle = (XmlElement)node;
if (xmlEle.GetAttribute("name") == "清风")
{
foreach (XmlNode node1 in node.ChildNodes)
{
if (node1.Name == "pass")
{
XmlElement xmlEle1 = (XmlElement)node1;
xmlEle1.InnerText = "爱,请深爱;不爱,请离开!";
break;
}
//XmlElement xmlEle1=
}
break;
}
}
xmlDoc.Save(Server.MapPath("/xmldemo/person.xml"));//保存文档
}
//删出节点
private void deleteNode()
{
LoadXml();
XmlNodeList xnl = xmlDoc.SelectSingleNode("user").ChildNodes;
foreach (XmlNode node in xnl)
{
XmlElement xmlEle = (XmlElement)node;
if (xmlEle.GetAttribute("name") == "凌风")
{
node.ParentNode.RemoveChild(node);
break;
}
}
xmlDoc.Save(Server.MapPath("/xmldemo/person.xml"));//保存文档
}
/// <summary>
/// 读取xml文档中的内容
/// </summary>
/// <returns></returns>
public string ReadInfo()
{
StringBuilder strBuilder = new StringBuilder();
LoadXml();
XmlNodeList nodeList = xmlDoc.SelectSingleNode("user").ChildNodes;
foreach (XmlNode node in nodeList)
{
XmlElement xmlEle = (XmlElement)node;
strBuilder.Append("姓名:");
string name = xmlEle.GetAttribute("name");
strBuilder.Append(xmlEle.GetAttribute("name"));
strBuilder.Append("</br>");
if (node.HasChildNodes)//判断是否有子节点 可不要
{
foreach (XmlNode node1 in node.ChildNodes)
{
if (node1.Name == "Address")//显示某些节点下的内容
{
XmlElement xmlEle1 = (XmlElement)node1;
strBuilder.Append("地址:");
strBuilder.Append(node1.InnerText);
strBuilder.Append("<br/>"); //显示样式可以拼接一些html标签 如果层次不是太深 可以将内容读取到DataTable对象中 然后与数据控件绑定
}
}
}
}
return strBuilder.ToString();
}
xml文档格式如下
<?xml version="1.0" encoding="utf-8"?>
<user>
<person name="凌风" sex="男" age="23">
<pass>123</pass>
<Address>地球</Address>
</person>
</user>