asp.net写入读取xml的方法

添加命名空间

using System.Xml;

我自己的代码(添加其中的节点)

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("userTable.xml"));
XmlNode root = xmlDoc.SelectSingleNode("root");//查找<root>
XmlElement xe1 = xmlDoc.CreateElement("user");//创建一个<user>节点
//xe1.SetAttribute("genre", "张三");//设置该节点genre属性
//xe1.SetAttribute("ISBN", "1-1111-1");//设置该节点ISBN属性

XmlElement xesub1 = xmlDoc.CreateElement("ID");
xesub1.InnerText = "" + guid + "";//设置文本节点
xe1.AppendChild(xesub1);//添加到<user>节点中
XmlElement xesub2 = xmlDoc.CreateElement("yhmc");
xesub2.InnerText = "" + username + "";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("tableRealationName");
xesub3.InnerText = "" + tableRealation_name + "";
xe1.AppendChild(xesub3);
//XmlElement xesub4 = xmlDoc.CreateElement("imgDescribName");
//xesub4.InnerText = "" + imgDescrib_name + "";
//xe1.AppendChild(xesub4);
//XmlElement xesub5 = xmlDoc.CreateElement("imgDescribName");
//xesub5.InnerText = "1450";
//xe1.AppendChild(xesub5);
root.AppendChild(xe1);//添加到<root>节点中
xmlDoc.Save(Server.MapPath("userTable.xml"));

效果

<?xml version="1.0" encoding="UTF-8"?>
<root>
<user genre=“张三 ” ISBN=“1-1111-1”>
<ID>guid</ID>
<yhmc>yhmc</yhmc>
<tableRealationName>tableRealationName</tableRealationName>
</user>
</root>

修改其中节点(属性和子结点

XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load( Server.MapPath("userTable.xml") );

XmlNodeList nodeList=xmlDoc.SelectSingleNode("Employees").ChildNodes;//获取Employees节点的所有子节点

foreach(XmlNode xn in nodeList)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("genre")=="张三")//如果genre属性值为“张三”
{
xe.SetAttribute("genre","update张三");//则修改该属性为“update张三”

XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XmlNode xn1 in nls)//遍历
{
XmlElement xe2=(XmlElement)xn1;//转换类型
if(xe2.Name=="author")//如果找到
{
xe2.InnerText="ID";//则修改
}
}
}
}
xmlDoc.Save( Server.MapPath("userTable.xml") );//保存。

修改结点(添加结点的属性和添加结点的自结点):

XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load( Server.MapPath("userTable.xml") );

XmlNodeList nodeList=xmlDoc.SelectSingleNode("Employees").ChildNodes;//获取Employees节点的所有子节点

foreach(XmlNode xn in nodeList)
{
XmlElement xe=(XmlElement)xn;
xe.SetAttribute("test","111111");

XmlElement xesub=xmlDoc.CreateElement("flag");
xesub.InnerText="1";
xe.AppendChild(xesub);
}
xmlDoc.Save( Server.MapPath("userTable.xml") );

读取方法

string path = Server.MapPath("userTable.xml");
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(path);
//获取制定子节点
XmlNode xn = xmldoc.SelectSingleNode("root");
XmlNodeList xnlist = xn.ChildNodes;
foreach (XmlNode xn1 in xnlist)
{
XmlElement xe = (XmlElement)xn1;
XmlNodeList xnl0 = xe.ChildNodes;
string xmlynbh = xnl0.Item(0).InnerText;
if (xmlynbh == yhbh.ToString())
{
tableRealationName = xnl0.Item(2).InnerText;
//imgDescribName = xnl0.Item(3).InnerText;
}

posted @ 2017-04-18 11:05  万年雪霜  阅读(2190)  评论(0编辑  收藏  举报