问题描述
写不到xml的<newsid>节点中!!!前台如下:姓名:<asp:TextBoxID="txtName"runat="server"></asp:TextBox> 年龄:<asp:TextBoxID="txtAge"runat="server"></asp:TextBox> 薪水:<asp:TextBoxID="txtSalary"runat="server"></asp:TextBox><asp:ButtonID="btnAdd"runat="server"Text="添加"OnClick="btnAdd_Click"/>XML如下:<?xmlversion="1.0"encoding="utf-8"?><data><newsid><projectmytitle="3124314"mypic="312312"links="31233"/><projectmytitle="vgv"mypic="vbv"links="vbnv"/><projectmytitle="vgv"mypic="vbv"links="vbnv"/><projectmytitle="vgv"mypic="vbv"links="vbnv"/></newsid><projectmytitle="vgv"mypic="vbv"links="vbnv"/></data>CS如下:usingSystem.Xml.Linq;publicpartialclassSample:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){//判断页面是否首次加载if(!Page.IsPostBack){BindPerson();//执行BindPrerson()方法}}privatevoidBindPerson(){//加载指定的xml文件XDocumentxml=XDocument.Load(Server.MapPath("data.xml"));//使用查询语法获取project集合varpersons=frompinxml.Root.Elements("project")selectnew{name=p.Attribute("mytitle").Value,age=p.Attribute("mypic").Value,salary=p.Attribute("links").Value};//绑定数据源gvPerson.DataSource=persons;gvPerson.DataBind();}protectedvoidbtnAdd_Click(objectsender,EventArgse){//加载指定的xml文件XDocumentxml=XDocument.Load(Server.MapPath("data.xml"));//创建需要新增的XElement对象XElementproject=newSystem.Xml.Linq.XElement("project",newXAttribute("mytitle",txtName.Text),newXAttribute("mypic",txtAge.Text),newXAttribute("links",txtSalary.Text));//添加需要新增的XElement对象xml.Root.Add(project);//保存xmlxml.Save(Server.MapPath("data.xml"));gvPerson.EditIndex=-1;BindPerson();}protectedvoidgvPerson_SelectedIndexChanged(objectsender,EventArgse){//加载指定的xml文件XDocumentxml=XDocument.Load(Server.MapPath("data.xml"));//使用查询语法获取指定的project集合varpersons=frompinxml.Root.Elements("project")wherep.Attribute("mytitle").Value==gvPerson.SelectedValue.ToString()selectnew{name=p.Attribute("mytitle").Value,age=p.Attribute("mypic").Value,salary=p.Attribute("links").Value};//绑定数据源dvPerson.DataSource=persons;dvPerson.DataBind();}
解决方案
解决方案二:
你想将project节点写到newsid节点中?//添加需要新增的XElement对象xml.Root.Add(project);===========xml.Descents("newsid").FirstOrDefalut().Add(project);
解决方案三:
xml.Descents("newsid").FirstOrDefalut().Add(project);提示:System.XML.Linq.XDocument不包含“Descents“的定义
解决方案四:
Descendants
解决方案五:
xml.Root是哪个节点啊,找准节点添加、更新。
解决方案六:
╮(╯▽╰)╭应该在newsid下增加子节点悲剧
解决方案七:
以前弄过,现在忘了,只能帮顶了