Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по XML 
:(
    Опции темы
MrDen
Дата 3.10.2006, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 14.4.2006
Где: Башкортостан

Репутация: нет
Всего: нет



Можно ли не пробегая по всему содержимому XML взять информацию из тега конкретного имени? Есть ли такой метод.

Это сообщение отредактировал(а) MrDen - 3.10.2006, 13:53
PM MAIL WWW ICQ   Вверх
Maksys
Дата 4.10.2006, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



 smile пробегать... это как?


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
nilrem
Дата 4.10.2006, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 15.2.2006
Где: Киев

Репутация: нет
Всего: нет



Угу ... если я тебя понял то моно
Примерно воть тякая логика:
счытаем кол- во узлов по которым тебе надобно "пробежаться" {cildNodes.length} потём в цикле просматривает все эти узлы и сравниваем их имя{nodeName} с заданым табою именем примерно так:
Код

MyXmlVars = new XML();
MyXmlVars.ignoreWhite = true;// эт типа чтоб все пропуски нафигг игнорировались
MyXmlVars.load("your.xml");
MyXmlVars.onLoad = function(){
// например ты буш просматривать первые дочерние узлы хмлины
for(var a=0;a<MyXmlVars.childNodes[0].childNodes.length-1;a++){
     if(String(MyXmlVars.childNodes[0].childNodes[0].nodeName)== "твое название узла который ты ищеш") 
    trace("ВИШЛО ВОТЬ НАЗВАНИЕ:"+MyXmlVars.childNodes[0].childNodes[0].nodeName);
    else trace("НЕТ ТАКОЙ МУРНИ");
    }
}


Воть впринципе и все smile Если в чемто неправ то звеняйте
PM MAIL WWW ICQ Skype   Вверх
MrDen
Дата 4.10.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 14.4.2006
Где: Башкортостан

Репутация: нет
Всего: нет



Это то я знаю. А вот просто не пробегая в цикле и не сравнивая, а сразу по имени тега значит нельзя(((. Ну я тоже так думал.
PM MAIL WWW ICQ   Вверх
Maksys
Дата 4.10.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Сам подумай тегов с одим и тем же именем может быть хз скока.. как ты себе это представляешь? Если я тебя попрошу принести я блоко с дерева, и больше ни какой инфы тебе не дам, и ты мне принесешь яблоко, то я думаю ты врядли принесешь его с той ветки которой мне надо было, если я тебе скажу мне надо яблоко вот с этой ветки.. тогда можно понять... а в XML просто покажи с какой ветки брать он и возмет.... по мну кажется странным вопрос Афтора  smile 


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
sergejzr
Дата 4.10.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Модератор: Название темы должно отражать ее суть! 
Предупреждал ведь!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
AlDev
Дата 5.10.2006, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 8
Всего: 50



можно на самом деле smile)
ActionScript 3 smile

Или для as2:
Код

/**
 * @author Alex S Batsuev
 * Jul 6, 2005
 */
 
class ru.z3studio.batsuev.as2.utils.XMLUtils
{ 
    public static function setObjectModel(document:XML):Void
    {
        XMLUtils.getStructure(document);
    }
    //----------------------------------------------------------------
    private static function getStructure(node:XMLNode):Void
    {
        var i:Number;
        var name:String;
        for (i=0;i<node.childNodes.length;i++)
        {
            name = node.childNodes[i].nodeName;
            if (node[name]==undefined)
            {
                node[name] = new Array();
            }
            node[name][node[name].length] = node.childNodes[i];
            XMLUtils.getStructure(node[name][node[name].length-1]);
        }        
    }
    //----------------------------------------------------------------
    public static function getNodeWhereAttrIs(nodes:Array,attr_name:String,attr_value:String):XMLNode
    {
        var i:Number;
        for (i=0;i<nodes.length;i++)
        {
            if (nodes[i].attributes[attr_name]==attr_value)
            {                
                return nodes[i];
            }
        }
        return null;
    }
    //--------------------------
    public static function getErrMessage(err_id:Number):String
    {
        var errorMessage:String;
        switch (err_id) 
        {
            case -2 :
              errorMessage = "A CDATA section was not properly terminated.";
              break;
            case -3 :
              errorMessage = "The XML declaration was not properly terminated.";
              break;
            case -4 :
              errorMessage = "The DOCTYPE declaration was not properly terminated.";
              break;
            case -5 :
              errorMessage = "A comment was not properly terminated.";
              break;
            case -6 :
              errorMessage = "An XML element was malformed.";
              break;
            case -7 :
              errorMessage = "Out of memory.";
              break;
            case -8 :
              errorMessage = "An attribute value was not properly terminated.";
              break;
            case -9 :
              errorMessage = "A start-tag was not matched with an end-tag.";
              break;
            case -10 :
              errorMessage = "An end-tag was encountered without a matching start-tag.";
              break;
            default :
              errorMessage = "An unknown error has occurred.";
            break;
        }
        return errorMessage;            
    }
}


и юзаем
Код

import ru.z3studio.batsuev.as2.utils.XMLUtils;

var doc:XML = new XML('<root><test attr='1' /><test attr='2' /></root>');
XMLUtils.setObjectModel(doc);
trace (doc.root[0].test[0].attributes.attr);
trace (doc.root[0].test[1].attributes.attr);


Это сообщение отредактировал(а) AlDev - 5.10.2006, 06:49
PM MAIL WWW ICQ YIM MSN   Вверх
Maksys
Дата 5.10.2006, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



А мне кажется это перебором...  smile 
Я вот так водь делаю:  smile 
Код

var doc:XML = new XML("<root><test attr='1' /><test attr='2' /></root>");
doc.ignoreWhite = true;
trace(doc.childNodes[0].childNodes[0].attributes.attr);
trace(doc.childNodes[0].childNodes[1].attributes.attr);


АААА все понял че надо было.. типо по именам Нодов к ним обращаешся?

Это сообщение отредактировал(а) Maksys - 5.10.2006, 07:45


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
MrDen
Дата 8.10.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 14.4.2006
Где: Башкортостан

Репутация: нет
Всего: нет



Спаибо)). Как раз то что нужно!!!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0507 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.