IMPORTXML中的XPATH与查询

时间:2018-02-19 09:57:35

标签: google-sheets

问题是如何找到搜索包含撇号的字符串的正确方法。该字符串是导入网址中title标记的a

所以出发点是: =IMPORTXML("http://www.some.com";"//a[contains(@title,'Mac's Issue')]") 由于里面的原始撇号,这当然不起作用。如何以正确的方式逃避这个角色?我尝试过使用""\,但没有成功。

编辑:包含此类问题的示例表https://docs.google.com/spreadsheets/d/1aGaAOpUeF8jZlL6La6zDw9nlcidOqA1apBt18mPUH7w/edit?usp=sharing

2 个答案:

答案 0 :(得分:2)

修改

XPath有一个concat函数,这应该会有所帮助:

//code[contains(.,concat('"',"Mac","'","s Issue"))]

公式为:

=IMPORTXML("http://www.some.com"; "//code[contains(.,concat('""',""Mac"",""'"",""s Issue""))]")

参考:

您可以尝试使用双引号而不是单引号:

=IMPORTXML("http://www.some.com";"//code[contains(.,""Mac's Issue"")]")

现在字符串是双引号:“Mac的问题”。

注意:每个双引号都使用两次,因为函数的参数是一个字符串,它本身存储在双引号中。

答案 1 :(得分:0)

虽然我不确定这对您的情况是否有用,但这个解决方法怎么样?此示例使用示例电子表格的=IMPORTXML("https://stackoverflow.com/questions/48863529/xpath-inside-importxml-with-apostrophe-in-query";"//code[contains(.,'Mac's Issue')]")

  1. //code[contains(text(), "Mac's Issue")]放入" A1"。
    • //code[contains(.,'Mac's Issue')]发生错误。
  2. =IMPORTXML("https://stackoverflow.com/questions/48863529/xpath-inside-importxml-with-apostrophe-in-query",A1)置于" A2"。
  3. 结果:

    enter image description here

    如果我误解了你的问题,我很抱歉。