捕获XML项的无效字符

本文关键字:无效 字符 XML 捕获 | 更新日期: 2023-09-27 18:25:14

在一个删除员工的方法中:您键入要删除的员工的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>

捕获XML项的无效字符

MSDN关于SelectSingleNode 的文章

SelectSingleNode引发XPathException。它可以帮助您验证这些字符;'"`|