Заголовок более сложный, чем должен быть, вот проблемный запрос.
SELECT *
FROM query.multi
WHERE queries="
SELECT *
FROM html
WHERE url='http://www.stumbleupon.com/url/http://www.guildwars2.com'
AND xpath='//li[@class=\"listLi\"]/div[@class=\"views\"]/a/span';
SELECT *
FROM xml
WHERE url='http://services.digg.com/1.0/endpoint?method=story.getAll&link=http://www.guildwars2.com';
SELECT *
FROM json
WHERE url='http://api.tweetmeme.com/url_info.json?url=http://www.guildwars2.com';
SELECT *
FROM xml
WHERE url='http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.guildwars2.com';
SELECT *
FROM json
WHERE url='http://www.reddit.com/button_info.json?url=http://www.guildwars2.com'"
В частности, эта строка,
xpath='//li[@class=\"listLi\"]/div[@class=\"views\"]/a/span'
Это проблематично из-за цитирования, я должен вложить их в три уровня и у меня закончились символы кавычек. Я попробовал следующие варианты без успеха:
//no attribute quoting
xpath='//li[@class=listLi]/div[@class=views]/a/span'
//try to quote attribute w/ backslash & single quote
xpath='//li[@class=\'listLi\']/div[@class=\'views\']/a/span'
//try to quote attribute w/ backslash & double quote
xpath='//li[@class=\"listLi\"]/div[@class=\"views\"]/a/span'
//try to quote attribute with double single quotes, like SQL
xpath='//li[@class=''listLi'']/div[@class=''views'']/a/span'
//try to quote attribute with double double quotes, like SQL
xpath='//li[@class=""listLi""]/div[@class=""views""]/a/span'
//try to quote attribute with quote entities
xpath='//li[@class="listLi"]/div[@class="views"]/a/span'
//try to surround XPath with backslash & double quote
xpath=\"//li[@class='listLi']/div[@class='views']/a/span\"
//try to surround XPath with double double quote
xpath=""//li[@class='listLi']/div[@class='views']/a/span""
Все безуспешно.
Я не вижу особого смысла в экранировании строк XPath, но все, что я обнаружил, кажется вариациями при использовании concat (что не поможет, потому что нет ни ', ни') или html-объектов. атрибуты не выдают ошибку, но дают сбой, потому что это не та строка XPath, которая мне нужна.
Я не вижу в документации по YQL ничего о том, как обрабатывать экранирование. Я знаю, насколько это плохо, но надеялся, что у них будет какое-то спасение от гида.