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

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

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

Регистрация: Jun 2009
Сообщений: 298
По умолчанию как разбить большой XML на не сколько меньших ?

привет !
к примеру
Код:
<nameChild><![CDATA[aboutsub]]></nameChild>
  <type><![CDATA[MenuSub]]></type>
  <content><![CDATA[<P ALIGN="LEFT"><FONT FACE="Times Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">AboutSub</FONT></P>]]></content>
  <position><![CDATA[0]]></position>
  <unicObjectName><![CDATA[]]></unicObjectName>
  <object><![CDATA[]]></object>
  <MenuX><![CDATA[]]></MenuX>
  <MenuY><![CDATA[]]></MenuY>
  <MenuW><![CDATA[]]></MenuW>
  <MenuH><![CDATA[]]></MenuH>
  <nameChild><![CDATA[samesub]]></nameChild>
  <type><![CDATA[MenuSub]]></type>
  <content><![CDATA[<P ALIGN="LEFT"><FONT FACE="Times Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">sameSub</FONT></P>]]></content>
  <position><![CDATA[2]]></position>
  <unicObjectName><![CDATA[]]></unicObjectName>
  <object><![CDATA[]]></object>
  <MenuX><![CDATA[]]></MenuX>
  <MenuY><![CDATA[]]></MenuY>
  <MenuW><![CDATA[]]></MenuW>
  <MenuH><![CDATA[]]></MenuH>
итак как сделать вот так
1 XML
Код:
<nameChild><![CDATA[aboutsub]]></nameChild>
  <type><![CDATA[MenuSub]]></type>
  <content><![CDATA[<P ALIGN="LEFT"><FONT FACE="Times Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">AboutSub</FONT></P>]]></content>
  <position><![CDATA[0]]></position>
  <unicObjectName><![CDATA[]]></unicObjectName>
  <object><![CDATA[]]></object>
  <MenuX><![CDATA[]]></MenuX>
  <MenuY><![CDATA[]]></MenuY>
  <MenuW><![CDATA[]]></MenuW>
  <MenuH><![CDATA[]]></MenuH>
2 XML
Код:
<nameChild><![CDATA[samesub]]></nameChild>
  <type><![CDATA[MenuSub]]></type>
  <content><![CDATA[<P ALIGN="LEFT"><FONT FACE="Times Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">sameSub</FONT></P>]]></content>
  <position><![CDATA[2]]></position>
  <unicObjectName><![CDATA[]]></unicObjectName>
  <object><![CDATA[]]></object>
  <MenuX><![CDATA[]]></MenuX>
  <MenuY><![CDATA[]]></MenuY>
  <MenuW><![CDATA[]]></MenuW>
  <MenuH><![CDATA[]]></MenuH>
???

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Это во всех 3х случаях невалидный XML - а поэтому не понятно, что именно вы хотите сделать. Если вы дадите вариант где все части валидные, или не должны быть ХМЛем, то решить это будет проще.
__________________
Hell is the possibility of sanity

Старый 18.10.2009, 07:37
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 3  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
Код:
<entire><nameChild><![CDATA[aboutsub]]></nameChild>
<type><![CDATA[MenuSub]]></type>
<position><![CDATA[0]]></position>
<unicObjectName><![CDATA[]]></unicObjectName>
<object><![CDATA[]]></object>
<MenuX><![CDATA[]]></MenuX>
<MenuY><![CDATA[]]></MenuY>
<MenuW><![CDATA[]]></MenuW>
<MenuH><![CDATA[]]></MenuH>
<nameChild><![CDATA[samesub]]></nameChild>
<type><![CDATA[MenuSub]]></type>
<position><![CDATA[2]]></position>
<unicObjectName><![CDATA[]]></unicObjectName>
<object><![CDATA[]]></object>
<MenuX><![CDATA[]]></MenuX>
<MenuY><![CDATA[]]></MenuY>
<MenuW><![CDATA[]]></MenuW>
<MenuH><![CDATA[]]></MenuH></entire>
итак как сделать вот так
1 XML
Код:
<entire>
<nameChild><![CDATA[aboutsub]]></nameChild>
<type><![CDATA[MenuSub]]></type>
<position><![CDATA[0]]></position>
<unicObjectName><![CDATA[]]></unicObjectName>
<object><![CDATA[]]></object>
<MenuX><![CDATA[]]></MenuX>
<MenuY><![CDATA[]]></MenuY>
<MenuW><![CDATA[]]></MenuW>
<MenuH><![CDATA[]]></MenuH>
</entire>
2 XML
Код:
<entire>
<nameChild><![CDATA[samesub]]></nameChild>
<type><![CDATA[MenuSub]]></type>
<position><![CDATA[2]]></position>
<unicObjectName><![CDATA[]]></unicObjectName>
<object><![CDATA[]]></object>
<MenuX><![CDATA[]]></MenuX>
<MenuY><![CDATA[]]></MenuY>
<MenuW><![CDATA[]]></MenuW>
<MenuH><![CDATA[]]></MenuH>
</entire>
вот так XML валидный
я просто не стал в первый раз приводить рутовый узел так как к делу он отношения не имеет !

Старый 18.10.2009, 12:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну только если считать, что nameChild является первым тегом в каждом куске, то взяв их индексы, можно промежуточные узлы перепихать в новые XML.

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
можно в цикле for:
Код AS3:
var xmls:Array/*of XML*/;
var tmpXML:XML;
for (var i:int; i < count; ++i)
{
	tmpXML = new XML("<entire/>");
	tmpXML.nameChild = sourceXML.nameChild[i];
	tmpXML.type = sourceXML.type[i];
	//.......
	xmls.push(tmpXML);
}
(может, что-нибудь напутал или не совсем оптимизировано, писал "на коленке")
__________________
я могу стать всем, если только захочу

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
var xml:XML =
<entire>
	<nameChild><![CDATA[aboutsub]]></nameChild>
	<type><![CDATA[MenuSub]]></type>
	<position><![CDATA[0]]></position>
	<unicObjectName><![CDATA[]]></unicObjectName>
	<object><![CDATA[]]></object>
	<MenuX><![CDATA[]]></MenuX>
	<MenuY><![CDATA[]]></MenuY>
	<MenuW><![CDATA[]]></MenuW>
	<MenuH><![CDATA[]]></MenuH>
	<nameChild><![CDATA[samesub]]></nameChild>
	<type><![CDATA[MenuSub]]></type>
	<position><![CDATA[2]]></position>
	<unicObjectName><![CDATA[]]></unicObjectName>
	<object><![CDATA[]]></object>
	<MenuX><![CDATA[]]></MenuX>
	<MenuY><![CDATA[]]></MenuY>
	<MenuW><![CDATA[]]></MenuW>
	<MenuH><![CDATA[]]></MenuH>
</entire>;
 
var aLists:Array = [];
 
xml.*.(localName().toString() === "nameChild" ?
	  aLists.unshift(<entire>{XMLList(valueOf())}</entire>) : 
	  aLists[0].* += valueOf());
 
aLists = aLists.reverse();
trace(aLists[0].toXMLString());
__________________
Hell is the possibility of sanity

Старый 18.10.2009, 16:15
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 7  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
2wvxvw: с таким кодом без пол литры не разобраться.

UPD через 3 минуты: урррра!!! я разобрался
__________________
я могу стать всем, если только захочу


Последний раз редактировалось Felicast; 18.10.2009 в 16:18.
Старый 18.10.2009, 18:18
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 8  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
спасибо ! )))) то что нада !
просто таблица большая приходит и чтобы меньше искать по ней, задумал разбить и куски своим контролам отдать ))))) можно было бы конечно отсылать запрос перед каждым кликом, по контролу в базу и получать только нужный кусок, но это не интересно ... ))))

Добавлено через 3 минуты
PS wvxvw редко встретишь такие хитрые решения ! вчитался в код )))) круто !

Старый 18.10.2009, 18:30
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
wvxvw, злыдень. В качестве потренироваться круто, но на живую за такое надо ручки оторвать.

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну это ерунда, мне где-то попадалась игра пятнашки написаная вся в одну строчку
__________________
Hell is the possibility of sanity

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

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

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


 


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


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