当前位置:  开发笔记 > 编程语言 > 正文

验证.NET中的XPath

如何解决《验证.NET中的XPath》经验,为你挑选了3个好方法。

如何在C#/ .NET中验证给定的xpath字符串是否有效?

我不确定只是运行XPath并且捕获异常是一个有效的解决方案(把胆汁放在我的喉咙里一会儿) - 如果明天我遇到其他输入我还没有测试过怎么办?



1> Tomalak..:

如何在C#/ .NET中验证给定的XPath字符串是否有效?

您尝试从中构建XPathExpression并捕获异常.

try 
{
    XPathExpression.Compile(xPathString);
}
catch (XPathException ex)
{
    MessageBox.Show("XPath syntax error: " + ex.Message);
}



2> ripper234..:

答案非常接近Tomalak写的内容(修复了编译错误并将强制主体置于XML中):

public static class XPathValidator
{
    /// 
    /// Throws an XPathException if  is not a valid XPath
    /// 
    public static void Validate(string xpath)
    {
        using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes("")))
        {
            XPathDocument doc = new XPathDocument(stream);
            XPathNavigator nav = doc.CreateNavigator();
            nav.Compile(xpath);
        }
    }
}



3> paul..:

对于比@ Tomalak的答案更短的版本,您可以使用XPathExpression.Compile方法:

string xpath = "/some/xpath";

try
{
    XPathExpression expr = XPathExpression.Compile(xpath);
}
catch (XPathException)
{

}

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有