簡體   English   中英

在Appcelerator Titanium中解析寫得不好的HTML

[英]Parsing badly written HTML in Appcelerator Titanium

我試圖從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 [object Object],[object Object],[object Object],[object Object],[object Object]

嘗試使用YQL ,它將更好地解析未知的HTML並返回好的JSON響應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM