LINQ to XML 操作XML文档

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

            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值