如何检查某些输入的InnerText是否存在于XML中并提供异常?

时间:2010-06-04 20:00:11

标签: c# xml

我用C#编写了一个代码 - XML,用于检查给定XML文档中是否存在值,并打印该值以及与该值关联的特定标记。 当我们输入内部文本的值时,它将在文档中查找值并找到它。我不明白当文档中没有输入值时要捕获的异常。

我试过这样做,但它不起作用。

1

    if (inpXMLString != AppChildNode.InnerText)
    throw new InvalidDataException("The entered value" + " " + inpXMLString + " " + "doesnot exist");  

此处:inpXMLstring =输入值;        AppChildNode.InnerText =搜索到的代码的值。

2

      catch (System.Xml.XmlException e1)
      {
         Console.WriteLine(e1.Message);
      }

当XML文档中没有输入的值时,这不会给出任何异常。

请在这方面帮助我。

2 个答案:

答案 0 :(得分:0)

看起来代码捕获的异常不同于它抛出的异常。该代码似乎抛出InvalidDataException但捕获System.Xml.XmlException。以下是一些关于异常处理的文章:

http://msdn.microsoft.com/en-us/library/ms173160(VS.80).aspx

http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=128

答案 1 :(得分:0)

像这样:

void DoSomething()
{
    try
    {
        /*
         * Do Something Useful.
         */ 
        CheckValue("Hello");
    }
    catch (InvalidDataException e)
    {
        Console.WriteLine(e.Message);
    }
}
private void CheckValue(string inpXMLString)
{
    if (inpXMLString != AppChildNode.InnerText)
        throw new InvalidDataException("The entered value" + " " + inpXMLString + " " + "doesnot exist");
}