Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   выгрузка из XML (http://www.flasher.ru/forum/showthread.php?t=121105)

kiraml 07.02.2009 18:29

выгрузка из 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();
                                                }
 
                                        }               
                        }
            }


silin 07.02.2009 20:08

как вариант
Код AS3:

var xml:XML =<data>
<song>  scorpions
        tittle
        fox
</song>
</data>;
var str:String = xml.song.split("\r\n").join("\r").split("\t").join("");
trace( "str : " + str );


kiraml 07.02.2009 20:55

большое спасибо, помогло.

etc 07.02.2009 21:10

Проще сохранить файл только с LF-переводами строк.

silin 07.02.2009 21:20

да, но обычно еще и табуляция есть, и отказываться от нее не хочется

etc 07.02.2009 22:44

А она никуда и не денется :)

silin 07.02.2009 23:13

не денется
я имел ввиду ситуацию когда как раз надо чтоб делась, ну та табуляция, которая тока для читабельности xml
ясно, что не проблема ни разу - что пришлешь, то и получишь, но если делаешь для дяди, то дешевле программно убрать лишние табы и CR, чем объяснять нюансы

etc 08.02.2009 00:10

condenseWhite никто не отменял :)

silin 08.02.2009 00:21

condenseWhite: только htmlText и все подчистую..
короче, дело хозяйское

kiraml 08.02.2009 05:19

_ets
расскажите пожалуйста, что за LF-переводы строк ?


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

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