【问题标题】:XPATH query with single quote [duplicate]带单引号的 XPATH 查询 [重复]
【发布时间】:2011-05-26 00:54:15
【问题描述】:

有人知道如何解决这个问题吗?单引号让我陷入了循环。

$nodes = $xml->xpath("//item[contains(@catalog,'Billy's Blogs')]/title");

我尝试过各种方式来逃避它,都抛出错误:

$nodes = $xml->xpath("//item[contains(@catalog,'Billy\'s Blogs')]/title");
$nodes = $xml->xpath("//item[contains(@catalog,'Billy's Blogs')]/title");

【问题讨论】:

    标签: php xml xpath


    【解决方案1】:

    quote'" 一起使用怎么样?请参阅here 中的示例。notes = 'New Lapytop&quots ;USB" MP3 player&quot'

    【讨论】:

    • 这似乎无效。
    【解决方案2】:

    正如salathe 回答here,您无法在 XPath 中转义撇号。

    【讨论】:

    • 请不要以这种方式提供其他人的答案。 Or make it a CW。我们不会因查找重复项或近距离投票(您还不能这样做)而获得赞成票。
    • 谢谢 Gordon,我不知道社区 wiki 的功能。
    • 其实这是很重要的一点
    【解决方案3】:

    使用您的语言(我不懂 PHP)中的任何方式来转义带引号的字符串中的引号字符,如下所示:

    $nodes = $xml->xpath("//item[contains(@catalog,\"Billy's Blogs\")]/title"); 
    

    【讨论】:

    • +1 解决实际问题的好答案:将一种语言嵌入到另一种语言中。使用 PHP 和 EmacScript 可能会遇到同样的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 2016-02-07
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    相关资源
    最近更新 更多