Форум 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=81085)

InfMag 12.06.2006 13:28

XML, получение определенных данных
 
Вот имеется XML файл:
Код:

<?xml version="1.0" encoding="utf-8" ?>

<tg1>

  <item id = "1">
      <id2>1</id>
      <text1>qwe</text1>
      <text2>qwe</text2>
  </item>

  <item id = "2">
      <id2>2</id>
      <text1>qwe</text1>
      <text2>qwe</text2>
  </item>

  <item id = "3">
      <id2>3</id>
      <text1>qwe</text1>
      <text2>qwe</text2>
  </item>

</tg1>

<tg2>
  <sp>qwerty12345</sp>
</tg2>

Вот я только знаю, что можно выбирать из XML так:
Код:

XML_VAR.firstChild.firstChild.firstChild.nodeValue
Но как можно обращаться к полям по именам, ну вобщем использовать XML, который я написал?

InfMag 12.06.2006 13:30

Тоесть мне допустим надо будет получить количество всех ITEM тегов, чтобы через цикл нормально прочитать весь массив...

etc 12.06.2006 13:33

начнем с того, что хмл у тебя невалидный

childNodes тебе в помощь

InfMag 12.06.2006 13:35

2 __etc
Так, а теперь давай по русски, я сижу в ветке для новичков и если честно, то то, что ты мне сказал мне ничего не дало, я ничего не понял.

MINASTIS 12.06.2006 13:39

По ходу он хотел тебе сказать в массив скинь значения childnodes. Это тебе даст шанс узнать "имена". А так в общем по ходе в ХМЛ файле все узлы должны быть в оном большом узле.

etc 12.06.2006 13:47

childNodes -- массив со ссылками на дочерние элементы узла. Он есть у каждого узла и может быть пустым, если дочерних узлов нет. А хмл твой является невалидным, т.е. неверен с точки зрения хмл. Например, открывающий и закрывающий теги должны быть одинаковы по имени, а у тебя разные.

MINASTIS 12.06.2006 13:52

Цитата:

<id2>2</id>
вот это вот что такое, объясни?! Такого не может быть! Надо одинаковые имена! :D

InfMag 12.06.2006 14:07

2 MINASTIS
Ой! Это мой косяк! :) Надо было:
Код:

<id2>2</id2>

InfMag 12.06.2006 14:08

Как никак, а суть вопроса еще не раскрыта...

MINASTIS 12.06.2006 14:19

Сказано же создай массив блин и слей в него childnodes.

iNils 12.06.2006 14:25

Код:

trace (имяТвоегоXML.firstChild.childNodes.length);

etc 12.06.2006 15:59

Minastis, прекрати давать вредные советы и не надо неверно толковать мои слова!

Homo Sapiens 12.06.2006 19:09

Так, между прочим, в XML документе допустим только один корневой узел.
Узнать имя можно через nodeName. А вообще хелп рулит :)

iNils 12.06.2006 19:12

Цитата:

Сообщение от Homo Sapiens
Так, между прочим, в XML документе допустим только один корневой узел.
Узнать имя можно через nodeName. А вообще хелп рулит :)

В спецификации да, но флешу на это пока (еще) пофиг.

MINASTIS 12.06.2006 19:46

2 _etc не буду не буду :) мне просто делать нечего было несколько часов вот я и толковал.

InfMag 12.06.2006 20:50

Хм. Мне конечно пофиг если можно нормально работать и без имен :) нафиг тогда мне получается с именами заморачиваться... надо так попробовать...

iNils 12.06.2006 20:52

Цитата:

Сообщение от InfMag
Хм. Мне конечно пофиг если можно нормально работать и без имен :) нафиг тогда мне получается с именами заморачиваться... надо так попробовать...

Чтобы читая твой xml, ты сам или заказчик не путался, что сье значит.

InfMag 12.06.2006 20:54

Просто я хотел обращаться к доку по именам, типа:
Код:

XML.childNodes["tg1"].childNodes["item"]["1"].childNodes["id2"].nodeValue

etc 12.06.2006 20:57

Для этого существует idMap и параметр id у тегов

iNils 12.06.2006 20:58

Цитата:

Сообщение от __etc
Для этого существует idMap и параметр id у тегов

Угу, только Id то уникальный :)

InfMag 12.06.2006 20:58

2 __etc
Ну вот серьезно, ты думаешь я что-то из этого понял? :) Как всегда хочу пример.

etc 12.06.2006 21:02

Пример есть в хелпе. Ключевые слова в поиске я тебе назвал. Я написать не могу, т.к. пишу с мобильного. Сделай что-нибудь сам, например нажми ф1 и кнопку поиска


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

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