YQL, получить контент внутри Open Table - PullRequest
0 голосов
/ 29 июня 2011

Я пытаюсь получить текстовое содержимое внутри сценария выполнения открытой таблицы ... Мой запрос выглядит так:

var q = y.query('select * from html where url="http://awebpage.html" and xpath="/html/body/div/table/tr/td/table/tr/td/div/div[2]/center/div[3]//text()"');
y.log(q.results);

Это нормально работает, и я вижу в журнале консоли текст содержимого.Но я не знаю, как я могу вернуть это !!если я пытаюсь

response.object = {'test': q.results } };

не работать .... я пытаюсь написать:

response.object = {'test': q.results.toXMLString() } };

, но он возвращает что-то вроде: { 'test' : '<result> bla bla bla bla </result>' }

КакМогу ли я получить только содержание результата?!?!Мне нужно только "бла бла бла"

1 Ответ

0 голосов
/ 30 июня 2011

Как вы знаете, q.results - это объект XML. Чтобы получить текстовое содержимое в виде строки, сначала нужно вызвать text(), чтобы получить текстовый объект XML, а затем вызвать toString(), чтобы превратить его в строку JavaScript.

response.object = {'test': q.results.text().toString()};

Существует также возможность простого возврата собственного объекта XML.

response.object = <test>{q.results.text()}</test>;
...