1得到關於某元素下的所有值
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
XmlNodeList xnl = doc.GetElementsByTagName("Name");//得到關於是name元素下的所有值
xnl是一個數組,如果幫頂到資料控制項上,用xnl[i].InnerXml.
2查詢任意節點的值(selectsiglenode方法)
XmlDocument doc = new XmlDocument();
doc.SelectSingleNode("//User[Name='"+this.ddlName.SelectedItem.Text+"']").ChildNodes.Item(i).InnerText;
3選擇一個節點
XmlNode xNode = doc.SelectSingleNode("dbGuest");
再把這句話變一下效果則為選擇一個數組
XmlNodeList xnl = doc.SelectSingleNode("dbGuest").ChildNodes;
4建立一個元素,並在其下面添加一個元素,賦值
XmlElement xe1 =doc.CreateElement("User");
XmlElement sub1 = doc.CreateElement("Name");
sub1.InnerText = "junyistar";
xe1.AppendChild(sub1);
5編曆指定一個節點下的所有子節點,並找出子節點下的固定的值(相當於表套表)
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
XmlNodeList nodeList=xmlDoc.SelectSingleNode("dbGuest").ChildNodes;//擷取dbGuest節點的所有子節點
foreach(XmlNode xn in nodeList)//遍曆所有子節點
{
XmlElement xe=(XmlElement)xn;//將子節點類型轉換為XmlElement類型
XmlNodeList node = xe.GetElementsByTagName("Name");
if(node.Count>0)
{
if(node[0].InnerText==ddlName.SelectedItem.Text)
{
XmlNodeList nls=xe.ChildNodes;//繼續擷取xe子節點的所有子節點
foreach(XmlNode xn1 in nls)//遍曆
{
XmlElement xe2=(XmlElement)xn1;//轉換類型
if(xe2.Name=="Email")//如果找到
{
xe2.InnerText=tbNewMail.Text;//則修改
break;//找到退出來就可以了
}
}
break;
}
}
6前面所有方法最後別忘用doc.save()
xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml"));
個人感覺用xmldocument操縱xml還是比較煩瑣,可能的話還是吧xml讀到dataset中,
應為xml其實就是一個資料表,讀取特定資料時只需用ds.tables["tableName"].Rows[i][j]即可。