代码之家  ›  专栏  ›  技术社区  ›  Bryan

xpath和特殊字符

  •  4
  • Bryan  · 技术社区  · 14 年前

    我在为SiteCoreCMS系统执行的xpath查询有问题。

    此查询工作正常:

    /根目录/内容/元数据/提示/*

    但是当我尝试这个的时候:

    /根目录/内容/元数据/提示/*[@someattribute='somekey']

    我得到一个错误,上面写着“在位置22处期望字符串结束”,这就是找到破折号的地方。我觉得破折号在XML中不是一个特殊的字符…我在这里做错什么了吗?我需要以某种方式对其进行编码吗?或者这是xpath解析器中的错误?有什么建议的解决方法吗?

    2 回复  |  直到 11 年前
        1
  •  12
  •   Blair Scott    14 年前

    改变这一点:

    /root/content/Meta-Data/Tips/*[@SomeAttribute='somekey']
    

    对此:

    /root/content/#Meta-Data#/Tips/*[@SomeAttribute='somekey']
    
        2
  •  0
  •   cgp    11 年前

    根据 XML spec 对于标记名中的字符,连字符应为有效字符。我已经用 this site 并发现它有助于与其他解析器的结果进行比较。