asp.net写入读取xml的方法

2018-06-22 07:47:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

添加命名空间

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;
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SQL Server和ASP.NET的操作基本操作

下一篇:LINQ to SQL语句(2)Count/Sum/Min/Max/Avg操作符