添加命名空間 using System.Xml; 我自己的代碼(添加其中的節點) XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Server.MapPath("userTable.xml")); XmlNode root = xmlDoc.S ...
添加命名空間
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;
}