<?xml version="1.0" encoding="utf-8"?>
<data>
<area />
<area id="qinghai" title="青海" value="青海,人口:100万,面积:380万平方公里" />
</data>
xml文件是这样的;
protected void Button3_Click(object sender, EventArgs e)
{
Button bt = (Button)sender;
string id = bt.CommandArgument;
string xmlurl = Server.MapPath("d.xml");
XmlDocument doc = new XmlDocument();
doc.Load(xmlurl);
foreach (XmlNode node in doc["data"])
{
XmlElement xe = (XmlElement)node;
if (node.Attributes["id"].Value.ToString() == id)
{
xe.RemoveAll();
}
}
doc.Save(xmlurl);
Response.Redirect(Request.CurrentExecutionFilePath);
}
这个是删除的;
可是删除一个节点后还剩下
<area />
怎么把这个全部都删掉??
<data>
<area />
<area id="qinghai" title="青海" value="青海,人口:100万,面积:380万平方公里" />
</data>
xml文件是这样的;
protected void Button3_Click(object sender, EventArgs e)
{
Button bt = (Button)sender;
string id = bt.CommandArgument;
string xmlurl = Server.MapPath("d.xml");
XmlDocument doc = new XmlDocument();
doc.Load(xmlurl);
foreach (XmlNode node in doc["data"])
{
XmlElement xe = (XmlElement)node;
if (node.Attributes["id"].Value.ToString() == id)
{
xe.RemoveAll();
}
}
doc.Save(xmlurl);
Response.Redirect(Request.CurrentExecutionFilePath);
}
这个是删除的;
可是删除一个节点后还剩下
<area />
怎么把这个全部都删掉??
解决方案 »
- 提交页面中有imagebutton,点击之后js提示未保存离开是否取消,取消再点提交却是页面跳转,请问如何解决这个问题?
- 新手关于弹出窗体的问题,,,,急,,在线等解
- 使用jquery作一个纵向菜单,超级链接为何失效??
- 编程实现任意输入m,n,要求输出m是小于等于n个数的平方和的表达式,如:m=13,n=2,输出:13=3*3+2*2;m=71,n=5,输出:
- 使用asp:Repeater如何能实现下面的二级显示呢?
- 在.net中如何新建文件夹?
- 按提交按钮后的再刷新页面一次出显重提交的问题!
- 如何在类文件.cs中检查是否有同名用户,如果有同名用户就警告该用户存在
- 怎样在ASP.NET中取出excel表的单元格的内容用C#代码编写
- 请问...我是否可以不要codebehind,直接在.aspx里编辑代码?
- 关于站点地图的问题
- ASP.NET中html中的一个小问题
<asp:DataList ID="DataList1" runat="server" DataSourceID="XmlDataSource1" >
<ItemTemplate>
<td style=" width:100px;">
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' />
</td>
<td style=" width:100px;">
<asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>' />
</td>
<td style=" width:600px;">
<asp:Label ID="valueLabel" runat="server" Text='<%# Eval("value") %>' />
</td>
<td style=" width:50px;"> <asp:Button ID="Button2" runat="server" Text="修改" CommandArgument='<%# Eval("id") %>' OnClick="Button2_Click" />
</td>
<td style=" width:50px;"> <asp:Button ID="Button3" runat="server" Text="删除" CommandArgument='<%# Eval("id") %>' OnClick="Button3_Click"/>
</td>
</ItemTemplate>
</asp:DataList>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/d.xml">
</asp:XmlDataSource>
--------------------------------------------------------------------------------DataBinding:“System.Web.UI.WebControls.XmlDataSourceNodeDescriptor”不包含名为“id”的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: DataBinding:“System.Web.UI.WebControls.XmlDataSourceNodeDescriptor”不包含名为“id”的属性。源错误:
行 62: <ItemTemplate>
行 63: <td style=" width:100px;">
行 64: <asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' />
行 65: </td>
行 66: <td style=" width:100px;">
源文件: d:\MyWorkPlace\WebSite4\Default.aspx 行: 64
或者有其他的解决方法也行。谢谢了
你应该在< data >节点处用Xpath匹配ID,然后进行删除。
if (xe.GetAttribute("id") == id)
{
xe.ParentNode.RemoveChild(xe);
}
用这个解决了。如果我想添加呢一条记录呢?