разобрать HTML в Adobe Air - PullRequest
       22

разобрать HTML в Adobe Air

2 голосов
/ 10 января 2010

Я пытаюсь загрузить и разобрать HTML в Adobe Air. Основная цель - извлечь заголовок, метатеги и ссылки. Я пробовал HTMLLoader, но я получаю всевозможные ошибки, в основном непонятные исключения javascript.

Я также попытался загрузить html-контент напрямую (используя URLLoader) и вставить текст в HTMLLoader (используя loadString (...)), но получил ту же ошибку. Последним средством было попытаться загрузить текст в xml, а затем использовать запросы E4X или xpath, не повезло, потому что HTML не очень хорошо сформирован.

Мои вопросы:

  1. Есть ли простой и надежный (сценарий действия / эфир) компонент DOM там (мне не нужно отображать страницу, и безголовый режим подойдет)?
  2. Есть ли какая-нибудь библиотека для преобразования (дрянного) HTML в правильно сформированный XML, чтобы я мог использовать xpath / E4X
  3. Любые другие предложения о том, как это сделать?

ТНХ

Ответы [ 2 ]

1 голос
/ 04 августа 2011

ActionScript должен быть расширенным набором JavaScript, и, к счастью, есть ...

Чистый JavaScript / ActionScript HTML Parser

созданный гуру Javascript и создателем jQuery Джоном Резигом: -)

Один из подходов - запустить HTML через HTMLtoXML (), а затем использовать E4X, если хотите:)

1 голос
/ 19 января 2010

AFAIK:

  1. Нет: - (
  2. Нет: - (
  3. Я думаю, что самый простой способ получить заголовки и метатеги - это написать несколько регулярных выражений. Вы можете загрузить HTML-код страницы в строку и затем прочитать все, что вам нужно, например:

var str: String = ""; // вставляем HTML-код сюда

var pattern:RegExp = /<title>(.+)<\/title>/i;

trace(pattern.exec(str));
...