从Javascript响应对象中提取YQL查询内容

时间:2013-05-06 20:49:30

标签: javascript xpath yql

我有一个使用Yql的JavaScript来检索某个文本。我成功地检索了文本,但是我无法处理它:我可以访问原始文本(没有<br/>),正如您在调试器中获得的对象中所看到的那样:

The object inside the debugger

通过访问 response.query.results.div.p.content 我可以访问原始文本,而<br/>被排除在外(它们无用地存储在br数组中) )。如何在正确的位置获取<br/> s的文本?

这是我的代码(需要http://yui.yahooapis.com/3.8.0/build/yui/yui-min.js

YUI().use('node', 'event', 'yql', function(Y) {

                    var news_url = 'http://lyrics.wikia.com/Arcade_Fire:Wake_Up';

                    var yql_query = "select * from html where url='" + news_url +"'";
                    yql_query += " and xpath=\"//div[@class='lyricbox']\"";


                    Y.YQL(yql_query, function(response) {
                      if(response.query.results){

                                    /* presentation logic accessing 
                                    to response.query.results.div.p.content */
                       } else{ /* error handling */     }             
   });
});

1 个答案:

答案 0 :(得分:1)

 YUI().use('node', 'event', 'yql', function(Y) {

                var news_url = 'http://lyrics.wikia.com/Arcade_Fire:Wake_Up';

                var yql_query = "select * from html where url='" + news_url +"'";
                yql_query += " and xpath=\"//div[@class='lyricbox']\"";


                Y.YQL(yql_query, function(response) {
                  if(response.query.results){
                     alert(
                      response.query.results.div.p.content.split(' \n ').join('<br />')
                     );

                                /* presentation logic accessing 
                                to response.query.results.div.p.content */
                   } else{ /* error handling */     }             
                });
});

不确定你想用html做什么,所以我现在提醒......