Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как удобнее всего хранить эти данные? [xml] (http://www.flasher.ru/forum/showthread.php?t=67013)

mixey_lv 22.07.2005 06:36

как удобнее всего хранить эти данные? [xml]
 
Код:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<projecti>
        <product>
                <big_photo>big_photo.jpg</big_photo>
                <thumbnail>thumbnail.jpg</thumbnail>
                <thumbnail_tip><b>Litovskaja serija</b></thumbnail_tip>
                <variations>
                        <okno>
                                        <okno_pic>okno_pic.jpg</okno_pic>
                                        <okno_description>litovka na kuhne</okno_description>
                                        <okno_price>55ls</okno_price>
                        </okno>
                        <okno>
                                        <okno_pic>okno_pic2.jpg</okno_pic>
                                        <okno_description>litovka v gostinnoj</okno_description>
                                        <okno_price>75ls</okno_price>
                        </okno>
                        <okno>
                                        <okno_pic>okno_pic3.jpg</okno_pic>
                                        <okno_description>litovka na balkone</okno_description>
                                        <okno_price>80ls</okno_price>
                        </okno>
                </variations>
        </product>
        <product>
                <big_photo>big_photo2.jpg</big_photo>
                <thumbnail>thumbnail2.jpg</thumbnail>
                <thumbnail_tip><b>119 serija</b></thumbnail_tip>
                <variations>
                        <okno>
                                        <okno_pic>119_pic.jpg</okno_pic>
                                        <okno_description>119 na kuhne</okno_description>
                                        <okno_price>75ls</okno_price>
                        </okno>
                        <okno>
                                        <okno_pic>119_pic2.jpg</okno_pic>
                                        <okno_description>119 v gostinnoj</okno_description>
                                        <okno_price>56ls</okno_price>
                        </okno>
                        <okno>
                                        <okno_pic>119_pic3.jpg</okno_pic>
                                        <okno_description>119 na balkone</okno_description>
                                        <okno_price>23ls</okno_price>
                        </okno>
                </variations>
        </product>
</projecti>

Что касается <big_photo>, <thumbnail>, <thumbnail_tip> тут всё ясно...
Код:

xmlNode = this.firstChild;
                big_image = [];
                thumbnails = [];
                thumbnail_tip = [];
                total = xmlNode.childNodes.length;
                for (i=0; i<total; i++) {
                        big_image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
                        thumbnails[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
                        thumbnail_tip[i] = xmlNode.childNodes[i].childNodes[2].firstChild.toString();
               
                }
               
        } else {
                content.htmlText = "XML file not loaded!";
        }

это парсится и работает :D
А вот как хранить <variations> http://flasher.ru/forum/images/russi...cons/icon3.gif <okno> ? точнее окна... :) в одном варианте их (тэгов <okno>) будет 2 в другом 5,2,7,4....но в каждом <okno> будет ещё 3 тэга :(
Кто подскажет где и как это лучше хранить и как парсить?

as_68 22.07.2005 10:54

А для
Цитата:

<variations> <okno>
childNodes.length так же как ты для остальных делал - узнаешь сколько окон ;)

mixey_lv 22.07.2005 19:04

т.е. хранить тоже в массиве? простом?
потом мне надо делать так: выводить на экран один <product> и к нему все соответствующие <okno>, если я все <okno> загоню в массив...
как потом отсчитывать какие номера в массиве соответствуют конкретному <variations> ?

KidsKilla 22.07.2005 19:25

okno = []
for(var i in gdetotam) okno[i] = {pic:val, description:val2, price:val3, pijnya:[val4, val5, val6...]}

логично? =)

а вообще вопрос какой-то дурацкий...

mixey_lv 22.07.2005 21:21

как этот массив будет выглядеть?

и как потом обращаться к нему?

7thsky™ 22.07.2005 21:29

а может работать напрямую с xml? через XPath?

Gaen 23.07.2005 03:29

Почему-то ты совсем не используешь аттрибутов тэгов, это напрашивается само собой -

<okno
pic="pic.jpg"
describtion="blablabla"
price="$999"
/>

Тогда всё ясно:

Код:

n=yourXML;
i=0;
while(n){
  if(n.nodeName=="okno"){
    someArray[i]=n.attributes;
    i++;
    n=nextNode(n);    //(c) Iv
  }
}

//....

_root.mc.pic.loadMovie(someArray[3]["pic"]);


mixey_lv 23.07.2005 22:02

Этот скрипт "вешает" Флэш и через некоторое время мне предлагают обрубить его.
в чем проблема?
Код:

var products:XML = new XML();
products.ignoreWhite = true;
products.onLoad = function(success) {
        trace(products.childNodes[0].attributes.price); // vivodit verno $999
        n = products;
        i = 0;
        while (n) {
                if (n.nodeName == "okno") {
                        someArray[i] = n.attributes;
                        trace(someArray[i]);
                        i++;
                        n = nextNode(n);
                        //(c) Iv
                }
        }
};
//
products.load("tmp.xml");

Цитата:

Сообщение от tmp.xml
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<okno pic="pic.jpg" description="blablabla" price="$999"/>
<okno pic="pic2.jpg" description="2blablabla2" price="$29992"/>
<okno pic="pic3.jpg" description="3blablabla3" price="$39993"/>


as_68 25.07.2005 11:22

вместо
Цитата:

someArray[i] = n.attributes;
надо по аналогии
Цитата:

products.childNodes[i].attributes.price
для description и для pic


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

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