捕获XML条目的无效字符

时间:2014-09-30 13:13:01

标签: c# xml

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

1 个答案:

答案 0 :(得分:0)

MSDN article on SelectSingleNode

SelectSingleNode抛出XPathException。它可以帮助您验证这些字符; '“`|