Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по Actionscript 2.0 XML

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Actionscript 2.0
djtimoha66
Отправлено: 15 Октября, 2015 - 16:12:23
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




У меня на Actionscrip 2.0 есть код который читает XML файл:

CODE (htmlphp):
скопировать код в буфер обмена
  1. var myXML:XML = new XML();
  2. myXML.ignoreWhite=true;
  3. myXML.load("22.xml");
  4. myXML.onLoad = function(success){      
  5. if (success){
  6. _root.cool=myXML;
  7. }
  8. }


XML код:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <info>
  2. <track_name>Удача</track_name>
  3. <group_name>бывает</group_name>
  4. <group_id>1</group_id>
  5. <group_url>http://mysite.ru/25053</group_url>
  6. <photo_url/>
  7. <duration>2015</duration>
  8. <is_news>0</is_news>
  9. <rait>0</rait>
  10. </info>


Вопрос, как мне спрятать в XML:

<group_id>1</group_id>
<group_url>http://mysite.ru/25053</group_url>
<photo_url/>
<duration>2015</duration>
<is_news>0</is_news>
<rait>0</rait>


чтоб выводилось только:
Удача
бывает
 
 Top
DeepVarvar Супермодератор
Отправлено: 15 Октября, 2015 - 20:47:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Вообще в глаза никогда не видел AS2, ну да ладно.

У объекта myXML должен быть метод обхода потомков.
Что-то вроде: myXML.children().each(function(item) {...}
А у XML документа root-элемент всегда один, т.е. в этом первом цикле будет только одна итерация.
Соответственно нужно провалиться еще глубже (цикл в цикле) или написать рекурсивный вызов.
Главная задача -- добраться до элементов track_name и group_name.
Т.е. внутри цикла что-то вроде: if (item.tagName == 'track_name' || item.tagName == 'group_name') {...}
И я так и не понял что надо сделать, удалить лишние узлы (что-то вроде item.parent.removeChild(item)) в этом XML,
или просто достать текстовую инфу из двух этих узлов (что-то вроде resultText += item.innerHTML)?

Кроме того существует гораздо более удобный вариант путешествия по и модификации DOM-дерева -- xpath.
Так вот его я описывать не буду.
Гугли сам.
Но в начале будет что-то вроде: myXML.onLoad = function(success){ var myXPath:XPath = new XPath(myXML); ...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Другие языки программирования »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB