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

Регистрация: Aug 2008
Сообщений: 63
По умолчанию выгрузка из XML

Здравствуйте, уже много раз сталкивался с проблемой вывода данных из xml, все время приходилось обманывать
Код:
<history>
 <item>
 
 </item>	
  <item>
    <song image="img\square\1.jpg"> hello  </song>
	<song>  scorpions \n tittle \n fox</song>
	<song>  bombox </song>
	<song>  tiesto </song>
 </item>	
  <item>
    <song> france  </song>
	<song image="img\square\2.jpg">  italia</song>
	<song image="img\square\4.jpg">  germania </song>
 </item>	

</history>
чтобы вывести текст в несколько рядков приходится писать тег \n, так как вывод если написать
Код:
...
<song>  scorpions
tittle
fox
</song>
...
даст на вывод
scorpions

tittle

fox

через строчку.
Может я не правильно что то делаю ?
вот код:
Код AS3:
private function XML_Loading():void
		{
			xmlLoaderB.addEventListener(Event.COMPLETE, LoadXMLHistory);
				xmlLoaderB.load(new URLRequest( xmlHistory_path ));
 
		}
 
private function LoadXMLHistory(e:Event):void
		{
 
			//Extract dataxmlHistory_path
			xmlData = new XML(e.target.data);
			ParseDataHistory(xmlData);	
		}
 
 
private function ParseDataHistory(dat:XML):void
		{
			// number of razdel
			var totalRazdel:Number = dat.item.length();
			// parse data into razdel array
			for (var i:uint = 0; i < totalRazdel; i++)
			{
					historyPage[i] = new Object();
					historyPage[i].myLen = dat.item[i].song.length();
					historyPage[i].item = new Array();
					for (var j:uint = 0; j < dat.item[i].song.length();j++){
						historyPage[i].item[j] = new Object();
						historyPage[i].item[j].text = dat.item[i].song[j];
						if(dat.item[i].song.attributes()[j] != undefined){
							historyPage[i].item[j].myImage = dat.item[i].song[j].attributes();
						}
 
					}		
			}
             }