Загрузка страницы Blogger в объект XML в ActionScript приводит к отсутствию тегов - PullRequest
0 голосов
/ 20 июля 2009

Всякий раз, когда я загружаю любую страницу блоггера через объект XML в ActionScript 2, почти все содержимое страницы волшебным образом исчезает. Я бы предположил, что, поскольку страницы находятся в формате xhtml, это должно работать. Вот что я получу, если попытаюсь загрузить блог Стива Йегге:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://www.google.com/2005/gml/b" xmlns:data="http://www.google.com/2005/gml/data" xmlns:expr="http://www.google.com/2005/gml/expr"><head><script type="text/javascript">(function() { var a=window;function f(e){this.t={};this.tick=function(d,b,c){var i=c?c:(new Date).getTime();this.t[d]=[i,b]};this.tick(&quot;start&quot;,null,e)}var g=new f;a.jstiming={Timer:f,load:g};try{a.jstiming.pt=a.external.pageT}catch(h){};a.tickAboveFold=function(e){var d,b=e,c=0;if(b.offsetParent){do c+=b.offsetTop;while(b=b.offsetParent)}d=c;d</script></head></html>

Прокрутите до конца, и вы увидите, что весь тег <body> отсутствует. Любые предложения о том, как это исправить?

Edit: Вот небольшой код, чтобы вы могли проверить его самостоятельно:

var foo:XML = new XML();
foo.ignoreWhite = true;

foo.onLoad = function(success:Boolean) {
    trace(foo.toString());
}
foo.load("http://steve-yegge.blogspot.com/");

1 Ответ

1 голос
/ 21 июля 2009

Что ж, при быстрой проверке кажется, что ваша страница не соответствует ее типу, что, вероятно, и является причиной проблемы. В общем, это не похоже на действительный XML, поэтому ActionScript его душит. Я только что провел быстрый тест с другой строгой страницей XHTML, которая действительно проверяет, и я смог без проблем просмотреть всю структуру узла.

Если вы не можете исправить разметку, возможно, вы захотите взглянуть на событие onData класса AS2 XML - оно позволяет вам получить необработанные данные перед анализом. Это может позволить вам извлекать нужный вам контент другим способом.

...