Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2008, 14:31
gregos вне форума Посмотреть профиль Отправить личное сообщение для gregos Найти все сообщения от gregos
  № 1  
Ответить с цитированием
gregos

Регистрация: Jul 2008
Сообщений: 4
По умолчанию Операции с xml

Привет...Кто знает решение - помогите пожалуйста...Есть xml с названиями магазинов определенного города...У магазинов есть координаты(X и Y)...нужно узнать магазины с одинаковыми координатами(и X и Y) и занести их в соответствующие массивым для последующего отображения...Пример xml:

Код:
<map>
	<settings>
		<map_name link="lugansk">Луганск</map_name>
	</settings>
	<selected link="23"/>
	<locations>
		<location name="Фокстрот" shop_id="41" link="fokstrot" x="80" y="50" radius="2" icons="btech" fill_color="0x00000" fill_alpha="100" line_color="0xfffffff" line_alpha="100" line_width="1"/>
		<location name="Комфи" shop_id="45" link="comfy" x="100" y="-20" radius="1" icons="elfoto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/>
		<location name="СРТ" shop_id="46" link="srt" x="450" y="25" radius="1" icons="сomp" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/>
		<location name="Артцентр" shop_id="12" link="artcentr" x="-120" y="-80" radius="1" icons="office" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/>
		<location name="Евразия" shop_id="11" link="evrasia" x="48" y="-150" radius="1" icons="auto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/>
		<location name='ТЦ "Мир"' shop_id="11" link="mir" x="48" y="-150" radius="1" icons="sport" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/>
	</locations>
</map>

Старый 31.07.2008, 16:16
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 2  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Ну и заноси атрибуты каждого блакнота в массив затем сравнение делай и все...

Старый 31.07.2008, 16:39
gregos вне форума Посмотреть профиль Отправить личное сообщение для gregos Найти все сообщения от gregos
  № 3  
Ответить с цитированием
gregos

Регистрация: Jul 2008
Сообщений: 4
Цитата:
Сообщение от qazwsx Посмотреть сообщение
Ну и заноси атрибуты каждого блакнота в массив затем сравнение делай и все...
непонятна стадия сравнения...хотелось бы увидеть рабочий код ...

Старый 31.07.2008, 16:52
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 4  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Тогда иди в раздел вакансии.
Общая схема береш свой XML. Считываеш каждую строку location в XML это называется node, береш атрибуты node. Это уже готовый обьект со всеми его параметрами attributes. Ззаносиш их куда хочеш(обьекты) можеш в массив можеш еше куда небудь... И делаеш сравнеие координат. Ну или же как то еше в таком же духе...

Старый 31.07.2008, 17:10
gregos вне форума Посмотреть профиль Отправить личное сообщение для gregos Найти все сообщения от gregos
  № 5  
Ответить с цитированием
gregos

Регистрация: Jul 2008
Сообщений: 4
Цитата:
Сообщение от qazwsx Посмотреть сообщение
Тогда иди в раздел вакансии.
Общая схема береш свой XML. Считываеш каждую строку location в XML это называется node, береш атрибуты node. Это уже готовый обьект со всеми его параметрами attributes. Ззаносиш их куда хочеш(обьекты) можеш в массив можеш еше куда небудь... И делаеш сравнеие координат. Ну или же как то еше в таком же духе...
Массив с объектами уже есть...сделал отображение магазинов...это есть...теперь в месте "скопления" этих магазинов нужно вывести список...вопрос - как сделать сравнение...?большая часть работы уже сделана, зачем же в вакансии...

Старый 31.07.2008, 17:14
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
var xml:XML = new XML ('<map><settings><map_name link="lugansk">Луганск</map_name></settings><selected link="23"/><locations><location name="Фокстрот" shop_id="41" link="fokstrot" x="80" y="50" radius="2" icons="btech" fill_color="0x00000" fill_alpha="100" line_color="0xfffffff" line_alpha="100" line_width="1"/><location name="Комфи" shop_id="45" link="comfy" x="100" y="-20" radius="1" icons="elfoto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="СРТ" shop_id="46" link="srt" x="450" y="25" radius="1" icons="сomp" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="Артцентр" shop_id="12" link="artcentr" x="-120" y="-80" radius="1" icons="office" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="Евразия" shop_id="11" link="evrasia" x="48" y="-150" radius="1" icons="auto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="ТЦ Мир" shop_id="11" link="mir" x="48" y="-150" radius="1" icons="sport" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/></locations></map>');
var arrayShop:Array = new Array ();
function findShop (node:XMLNode) {
	var array:Array = new Array ();
	var arrayCoor:Array = new Array ();
	var arrayOut:Array = new Array ();
	var len:Number = node.childNodes.length;
	for (var i:Number = 0; i < len; i++) {
		var nodeA:XMLNode = node.childNodes[i];
		var x:Number = Number (nodeA.attributes.x);
		var y:Number = Number (nodeA.attributes.y);
		if (!array[x]) {
			array[x] = [];
		}
		if (!array[x][y]) {
			array[x][y] = [];
			arrayCoor.push ({x:x, y:y});
		}
		array[x][y].push (i);
	}
	len = arrayCoor.length;
	for (var i:Number = 0; i < len; i++) {
		var x:Number = arrayCoor[i].x;
		var y:Number = arrayCoor[i].y;
		arrayOut.push (array[x][y]);
	}
	return arrayOut;
}
var arrayNodeOfShop = findShop (xml.firstChild.lastChild);
trace (arrayNodeOfShop.join ("\n"));
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 31.07.2008, 17:23
gregos вне форума Посмотреть профиль Отправить личное сообщение для gregos Найти все сообщения от gregos
  № 7  
Ответить с цитированием
gregos

Регистрация: Jul 2008
Сообщений: 4
Цитата:
Сообщение от iNils Посмотреть сообщение
Код:
var xml:XML = new XML ('<map><settings><map_name link="lugansk">Луганск</map_name></settings><selected link="23"/><locations><location name="Фокстрот" shop_id="41" link="fokstrot" x="80" y="50" radius="2" icons="btech" fill_color="0x00000" fill_alpha="100" line_color="0xfffffff" line_alpha="100" line_width="1"/><location name="Комфи" shop_id="45" link="comfy" x="100" y="-20" radius="1" icons="elfoto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="СРТ" shop_id="46" link="srt" x="450" y="25" radius="1" icons="сomp" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="Артцентр" shop_id="12" link="artcentr" x="-120" y="-80" radius="1" icons="office" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="Евразия" shop_id="11" link="evrasia" x="48" y="-150" radius="1" icons="auto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="ТЦ Мир" shop_id="11" link="mir" x="48" y="-150" radius="1" icons="sport" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/></locations></map>');
var arrayShop:Array = new Array ();
function findShop (node:XMLNode) {
	var array:Array = new Array ();
	var arrayCoor:Array = new Array ();
	var arrayOut:Array = new Array ();
	var len:Number = node.childNodes.length;
	for (var i:Number = 0; i < len; i++) {
		var nodeA:XMLNode = node.childNodes[i];
		var x:Number = Number (nodeA.attributes.x);
		var y:Number = Number (nodeA.attributes.y);
		if (!array[x]) {
			array[x] = [];
		}
		if (!array[x][y]) {
			array[x][y] = [];
			arrayCoor.push ({x:x, y:y});
		}
		array[x][y].push (i);
	}
	len = arrayCoor.length;
	for (var i:Number = 0; i < len; i++) {
		var x:Number = arrayCoor[i].x;
		var y:Number = arrayCoor[i].y;
		arrayOut.push (array[x][y]);
	}
	return arrayOut;
}
var arrayNodeOfShop = findShop (xml.firstChild.lastChild);
trace (arrayNodeOfShop.join ("\n"));

Спасибо огромное...щас буду разбираться...

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.