在删除员工的方法中:您输入要删除的员工ID(请参阅下面的xml以供参考)并运行此代码:
Console.Write("\r\nEnter the ID of the employee you wish to delete: ");
delId = Console.ReadLine();
try
{
XmlNode t;
t = xmldoc.SelectSingleNode("/employees/employee[@id=" + delId + "]");
如果我输入正确的ID,则会发生这种情况:
t.ParentNode.RemoveChild(t);
xmldoc.Save(filepath);
如果我输入任何字符,例如; ' " `|进入控制台而不是有效的ID,它会返回一个异常,我应该使用/做什么来捕获它并显示错误?
我目前掌握的方法是:
catch (NullReferenceException ex)
{
Console.ForegroundColor = pr.error;
Console.WriteLine("\r\nError: " + ex.Message + "\r\n(that employee might not exist?)\r\n");
pr.run(); // Restart
}
XML:
<employees>
<employee name="Alastair Wilkins" id="1" />
<employee name="Test Person" id="12345" />
</employees>
答案 0 :(得分:0)
MSDN article on SelectSingleNode
SelectSingleNode抛出XPathException。它可以帮助您验证这些字符; '“`|