Titanium の小さな HTML から値を取得しようとしています。このライブラリを使用しようとしました: https://gist.github.com/bob-sims/4406293別の質問 ( Titanium Mobile の HTML パーサー) で回答されていますが、何も得られません。ドキュメントがまったくなく、私が 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[対象オブジェクト]、[対象オブジェクト]、[対象オブジェクト]、[対象オブジェクト]、[対象オブジェクト]