使用 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 />"); } }
使用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 />"); } }