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

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

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

Регистрация: Mar 2009
Сообщений: 40
По умолчанию Разделить XML пополам

Есть некоторый XML.

Пусть в нем к примеру 10 нод.

Как быстро и изящно, без циклов, получить два XML, являющихся его половинами?

Старый 10.04.2009, 16:59
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 2  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
А зачем?
__________________
Griver

Старый 10.04.2009, 17:12
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 3  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
xml/2 :о))))
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 10.04.2009, 18:49
Shootin вне форума Посмотреть профиль Отправить личное сообщение для Shootin Найти все сообщения от Shootin
  № 4  
Ответить с цитированием
Shootin

Регистрация: Mar 2009
Сообщений: 40
Цитата:
Сообщение от mre Посмотреть сообщение
А зачем?
От сервака приходит XML, его надо запихнуть в два компонента Tree, в левый и в правый .

Таково пожелание заказчика, чтоб два дерева было.

Старый 10.04.2009, 19:32
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 5  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Ну дак раз xml все равно придется парсить весь, то можно это сделать один раз и в этом же цикле разбить.
__________________
Griver

Старый 10.04.2009, 21:22
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 6  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
И лучше это сделать на серваке.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 10.04.2009, 23:01
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
а по какому принципу вы его делить будете?
Код AS3:
var xml:XML = 
<a>
	<b c="0"/>
	<b c="1"/>
	<b c="2"/>
	<b c="3"/>
	<b c="4"/>
	<b c="5"/>
	<b c="6"/>
	<b c="7"/>
	<b c="8"/>
	<b c="9"/>
</a>;
var i:int;
var lnt:int = xml.*.length() / 2;
var part0:XMLList = xml.*.(i++ < lnt);
i = 0;
var part1:XMLList = xml.*.(i++ >= lnt);
trace(part0.toXMLString());
trace("--- part 2 ---");
trace(part1.toXMLString());
Ну только я надеюсь вы понимаете, что, например, нечетные числа пополам не делятся...
__________________
Hell is the possibility of sanity

Старый 10.04.2009, 23:11
Shootin вне форума Посмотреть профиль Отправить личное сообщение для Shootin Найти все сообщения от Shootin
  № 8  
Ответить с цитированием
Shootin

Регистрация: Mar 2009
Сообщений: 40
Цитата:
Сообщение от mre Посмотреть сообщение
Ну дак раз xml все равно придется парсить весь, то можно это сделать один раз и в этом же цикле разбить.
я не собираюсь его парсить..)

Старый 11.04.2009, 03:29
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 9  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Парсить все равно придется....
Т.к после разбивки "пополам" могут образоваться незакрытые/неоткрытые узлы, соответственно структура xml уже воспримется как некорректная и компоненты такие куски не "схавают". Поэтому нужно не просто разбить примерно на двое, а еще и сделать это корректно, чтоб обе части являли собой полноценные xml (почти как в примере wvxvw)
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 11.04.2009 в 03:35.
Старый 11.04.2009, 03:43
CEBEP вне форума Посмотреть профиль Отправить личное сообщение для CEBEP Посетить домашнюю страницу CEBEP Найти все сообщения от CEBEP
  № 10  
Ответить с цитированием
CEBEP
 
Аватар для CEBEP

Регистрация: Nov 2006
Сообщений: 688
Отправить сообщение для CEBEP с помощью ICQ Отправить сообщение для CEBEP с помощью Skype™
Ну получите из главного нода - хмлЛист и разделите на 2 части.

Цитата:
Как быстро и изящно, без циклов, получить два XML, являющихся его половинами?
Осчучение, что речь не про е4х а про старый ХМЛДокумент идёт...
__________________
"I am the terror that flaps in the night…!"

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

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

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


 


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


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