Показать сообщение отдельно
Старый 11.08.2008, 12:19
xm4k вне форума Посмотреть профиль Отправить личное сообщение для xm4k Найти все сообщения от xm4k
  № 1  
Ответить с цитированием
xm4k

Регистрация: Aug 2008
Сообщений: 14
Cool xml, проблема загрузки 5 строки

Доброго день.

Есть такой код, парсинг XML курса валют. Выводит все, но только до пятой строчки, в ней находится такое значение <rate>598.3698</rate>
также не выводит 6,7,8...и т.д. Что не так? Помогите пожалуйста.


Код:
var r00t:Array = ['']
var money:XML = new XML();
money.ignoreWhite = true;
//Адрес XML страницы
var money_adress:String="file://c:/currrate.xml";//Адрес
/*Функция загрузки XML данных и перезаписи времени начала загрузки.
С нее стартуем и ее-же будем вызывать ежечасно, чтоб обновлять данные*/
function renew() {
	lso = SharedObject.getLocal('money');
	lso.timesaved = new Date().getTime();
	lso.flush();
	money.load(money_adress);
}
money.onLoad = function(success:Boolean) {
	success ? parse(this.firstChild) :null;
	return;
};
function parse(arg:XML) {
	//Обнуление массива, таймера и индексов
	current = [];
	clearInterval(id);
	total = select0;

	total = arg.childNodes.length;
	for (var i = 0; i<total; i++) {
		
		var o:Object = new Object();
		var m_item:XML = arg.childNodes[0];
		var sub_item:XML = m_item.childNodes[0];
		var date:XMLNode = sub_item.childNodes[0];
		o.datetime=date;
		
		
		var val:XML = arg.childNodes[i];
		var ttt:XML = val.childNodes[2];
		var h:XMLNode = ttt.firstChild;
		o.val3=h;
		var val:XML = arg.childNodes[i];
		var ttt:XML = val.childNodes[3];
		var h:XMLNode = ttt.firstChild;
		o.val4=h;
		var val:XML = arg.childNodes[i];
		var ttt:XML = val.childNodes[4];
		var h:XMLNode = ttt.firstChild;
		o.val5=h;
		var a:Object = new Object;
		var val:XML = arg.childNodes[i];
		var ttt:XML = val.childNodes[5];
		var h:XMLNode = ttt.firstChild;
		a.val6=h;
		current.push(o);
	select++;
	select %= total;
	if (!select) {
		var timedif:Number = Math.floor((new Date().getTime()-lso.timesaved)/1000);
		timedif>3600 ? renew() : null;
		}
	id = setInterval(showInfo, delay);
	}
		showInfo();
}

function showInfo() {
	clearInterval(id);
	var o:Object= current[0];
	datetime.text = o.datetime;
	
	val3.text= o.val3;
	val4.text= o.val4;
	val5.text= o.val5;
	var a:Object= current[0];
	val6.text = o.val6;
	}
	
//Запуск
renew();
часть XML кода

Код:
	<chapter>
−
	<item>
<date>2008-08-08</date>
<code>031</code>
<char3>AZM</char3>
<size>100</size>
<name>азербайджанських манатів</name>
<rate>598.3698</rate>
<change>-0.2339</change>
</item>
−
	<item>
<date>2008-08-08</date>
<code>036</code>
<char3>AUD</char3>
<size>100</size>
<name>австралійських доларів</name>
<rate>441.2869</rate>
<change>-1.876</change>
</item>
−
	<item>


Последний раз редактировалось xm4k; 11.08.2008 в 12:53.