xpath - 带有撇号的字符串抛出错误

时间:2014-06-09 14:50:16

标签: c# xpath

在C#代码中,我使用xpath来查询身份管理数据库。我试图找到一个显示名称为“儿童医院”的部门。如果字符串有撇号,则会抛出错误。 - 无法按要求过滤。
“/部门[DisplayName ='儿童医院']” 如果我从数据库中的子项和代码中删除撇号,它工作正常。 “/部门[DisplayName ='儿童医院']” 这是从idms db。

中检索的C#代码
 private string GetObjectID(string xpathQuery)
    {
        string objectGuid = string.Empty;
        string newxpath = string.Empty;
        int i = 0;           
        try
        {
            foreach (RmResource resource in Client.Enumerate(xpathQuery))
            {

                if (i == 0)
                {
                    return resource.ObjectID.ToString();
                }

            }
            return null;
        }
        catch
        {
            return null;
        }

    }

1 个答案:

答案 0 :(得分:0)

正如@PanagiotisKanavos链接中所建议的那样,最简单的方法是在XPath的相应部分使用不同的引号字符。例如,在您的上下文中:

//example using escaped double quotes
var xpath = "/Department[DisplayName=\"children's hospital\"]";
var result = GetObjectID(xpath);