4

我试图从 Titanium 中的一小段 HTML 中获取一些值。我尝试使用这个库:https ://gist.github.com/bob-sims/4406293作为另一个问题的回答(用于 Titanium Mobile 的 HTML Parser),但我无法从中得到任何东西。它根本没有文档,而且我是 Titanium 的新手,这一事实可能无济于事。

html来自此页面:http ://www.ctt.pt/feapl_2/app/open/objectSearch/cttObjectSearch.jspx?showResults=true&lang=01&pesqObjecto.objectoId=RD057055721PT我正在尝试获取以下值:<tr id="object_RD057055721PT" class="object"><tr id="details_0" class="detailsDiv detailsHide">这是我写的代码:

var select = require('lib/soupselect').select, htmlparser = require('lib/htmlparser');

var handler = new htmlparser.DefaultHandler(function(err, dom) {
    if (err) {
        alert('Error: ' + err);
    } else {
        Ti.API.info("dom" + dom);
        var body = select(dom, 'meta[property="og:object_RD057055721PT"]');
        rows.forEach(function(body) {
            Ti.API.info(body.children[0].data)
        });

        var rows = select(dom, 'div.row');
        Ti.API.info("rows: " + rows)

        rows.forEach(function(row) {
            Ti.API.info(row.children[0].data)
        });
    }
});

function renderXML() {
    var httpResponse = this.responseText;

    var parser = new htmlparser.Parser(handler);
    parser.parseComplete(httpResponse);
};

var xhr = Ti.Network.createHTTPClient({
    onload : renderXML,
    onerror : errorMessage,
})

xhr.open("GET", "http://www.ctt.pt/feapl_2/app/open/objectSearch/cttObjectSearch.jspx?showResults=true&lang=01&pesqObjecto.objectoId=RD057055721PT");
xhr.send();

但是我从中得到的所有输出是:

dom[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]

4

1 回答 1

0

尝试使用YQL,它将更好地解析未知的 HTML 并返回漂亮的 JSON 响应。

于 2013-10-07T10:15:11.343 回答