Здравствуйте, уже много раз сталкивался с проблемой вывода данных из 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();
}
}
}
}