无法使用HTML / Javascript渲染YQL JSON输出

时间:2014-07-23 10:06:41

标签: javascript json xpath yql

我正在使用YQLXPATH查询来获取网页的某些元素的数据:

select *
from html 
where url="http://www.desidime.com" 
and 
xpath='//h5[@class="product_text"]'

我试图在一个简单的HTML页面中显示结果,但我不知道为什么它不起作用。它必须是一些超级愚蠢的错误。

以下是我的HTML页面的代码:

<html>
<head>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
    <meta content="utf-8" http-equiv="encoding">
    <style type='text/css'>
        #results {
            width: 40%;
            margin-left: 30%;
            border: 1px solid gray;
            padding: 5px;
            height: 200px;
            overflow: auto;
        }
    </style>
    <script type='text/javascript'>
        // Parses returned response and extracts
        // the title, links, and text of each news story.
        function top_stories(o) {
            var output = '';
            var items = o.query.results.h5;
            var no_items = items.length;
            for (var i = 0; i < no_items; i++) {
                var title = items[i].a.content;
                output += "<h3>" + title + "</h3><hr/>";
            }
            document.getElementById('results').innerHTML = output;
        }
    </script>
</head>
<body>
    <!-- Div tag for stories results -->
    <div id='results'></div>
    ishan1
                <!-- The YQL statment will be assigned to src. -->
    <script src='https://query.yahooapis.com/v1/public/yql?q=select%20*%0Afrom%20html%20%0Awhere%20url%3D%22http%3A%2F%2Fwww.desidime.com%22%20%0Aand%20%0Axpath%3D\"%2F%2Fh5%5B%40class%3D%22product_text%22%5D\"&format=json&callback='></script>
</body>
</html>

我很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

似乎编码的XPath查询是错误的。尝试打开您在浏览器中发布的URL时出错。尝试用这个替换它,这修复了错误并且能够为我返回有效的JSON结果:

https://query.yahooapis.com/v1/public/yql?q=select+*+from+html+where+url%3d%22http%3a%2f%2fwww.desidime.com%22+and+xpath%3d%27%2f%2fh5[%40class%3d%22product_text%22]%27&format=json&callback=