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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM