使用 XDocument 對象的 Element 方法,獲取制定層次結構中指定一個元素的值
public void MyDocElement(){XDocument xdoc = XDocument.Load(Server.MapPath("hamlet.xml"));//查找地址的元素Response.Write(xdoc.Element("PLAY").Element("TITLE").Value + "<br />");//如果包含多個同名元素,則只返回第一個元素Response.Write(xdoc.Element("PLAY").Element("PERSONAE").Element("PERSONA").Value + "<br />");}
?
文檔。用SetValue方法去修改指定元素的值
public void MyDocElementSetValue(){XDocument xdoc = XDocument.Load(Server.MapPath("hamlet.xml"));//修改指定位置元素的值xdoc.Element("PLAY").Element("PERSONAE").Element("PERSONA").SetValue("馮瑞濤");//如果包含多個同名元素,則只返回第一個元素Response.Write(xdoc.Element("PLAY").Element("PERSONAE").Element("PERSONA").Value + "<br />");}
?
使用Add方法添加制定元素到指定位置
public void MyDocElementAdd(){XDocument xdoc = XDocument.Load(Server.MapPath("hamlet.xml"));//定義一個演員XElement xe = new XElement("PERSONA", "馮瑞濤");//將演員添加到指定元素的最后面xdoc.Element("PLAY").Element("PERSONAE").Add(xe);//重新查詢結果var query = from people in xdoc.Descendants("PERSONA")select people.Value;//people 是符合條件元素結果集 而people.Value;就是這個結果集的所有元素的值的序列Response.Write(query.Count() + " 個演員被找到。");Response.Write("<p />他們是: <p />");foreach (var item in query){//輸出他們的值Response.Write(item + "<br />");}}
linq groupby??
使用Remove方法刪除制定元素
public void MyDocElementRemove(){XDocument xdoc = XDocument.Load(Server.MapPath("hamlet.xml"));//刪除xdoc.Element("PLAY").Element("PERSONAE").Element("PERSONA").Remove();//重新查詢結果編程了25個演員var query = from people in xdoc.Descendants("PERSONA")select people.Value;//people 是符合條件元素結果集 而people.Value;就是這個結果集的所有元素的值的序列Response.Write(query.Count() + " 個演員被找到。");Response.Write("<p />他們是: <p />");foreach (var item in query){//輸出他們的值Response.Write(item + "<br />");}}