我很亲密。如果ASP TEXT BOX的姓氏与XML“条目”匹配,我要求从XML文件中删除条目。
这是按钮脚本。请注意XmlNode PhoneBook行:
protected void deletion_Click(object sender, EventArgs e)
{
XmlDocument document = new XmlDocument();
document.Load(Server.MapPath("~/App_Data/PhoneBook.xml"));
XmlElement root = document.DocumentElement;
XmlNode PhoneBook = document.SelectSingleNode("//event[@lastName='" + txtLastName.Text + "']");
PhoneBook.ParentNode.RemoveChild(PhoneBook);
document.Save(Server.MapPath("~/App_Data/PhoneBook.xml"));
GridView1.DataBind();
}
我一直在收到错误,我猜我没有使用SelectSingleNode在xml文件中选择正确的节点?
答案 0 :(得分:3)
试试这个:
XmlNode PhoneBook = document.SelectSingleNode("/phoneBook/entry[lastName/text()='" + txtLastName.Text + "']");
您尝试过滤element
而不是attribute
,因此您无法使用@
符号。
此XPath返回第二个entry
元素(我测试了它,它可以工作):
/phoneBook/entry[lastName/text()='twoL']