在做ASP.NET的关于XML结点添加操作时:
protected void ButAdd_Click(object sender, EventArgs e)
{
string strElement = Ele.Text.Trim();
string strValue = EleData.Text.Trim();
XElement xel = XElement.Load(Server.MapPath("myXmlShow.xml"));
XElement newElement = new XElement(strElement, strValue);
try
{
xel.AddFirst(newElement);
xel.Save(Server.MapPath("myNewXmlShow.xml"));
TextBox3.Text = "添加成功";
}
catch (Exception E)
{
TextBox3.Text = E.Message;
}
}
调试出现了“名称中不能包含“:”字符(十进制0×FF1A)”的错误警告:
后来检查终于发现一个问题,前台代码中一个很小的问题:
<div>
<asp:Label ID="Lable1" runat="server" Text="结点:"></asp:Label>
<asp:TextBox ID="Ele" runat="server"></asp:TextBox>
<br />
<asp:Label ID="Lable2" runat="server" Text="结点值:"></asp:Label>
<asp:TextBox ID="EleData" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox3" runat="server">实时列表</asp:TextBox>
<br />
<br />
<asp:Button ID="ButAdd" runat="server" Text="XML结点的添加" onclick="ButAdd_Click"/>
</div>
我居然把Label的ID绑定到上面的后台代码,正确代码:
string strElement = Ele.Text.Trim();
string strValue = EleData.Text.Trim();
上了,肯定不能绑定的呀,应该是TextBox中的值才能那样做呀,以后一定要注意啊!!!