Просмотр полной версии : 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, который я написал?
Тоесть мне допустим надо будет получить количество всех ITEM тегов, чтобы через цикл нормально прочитать весь массив...
начнем с того, что хмл у тебя невалидный
childNodes тебе в помощь
2 __etc
Так, а теперь давай по русски, я сижу в ветке для новичков и если честно, то то, что ты мне сказал мне ничего не дало, я ничего не понял.
MINASTIS
12.06.2006, 13:39
По ходу он хотел тебе сказать в массив скинь значения childnodes. Это тебе даст шанс узнать "имена". А так в общем по ходе в ХМЛ файле все узлы должны быть в оном большом узле.
childNodes -- массив со ссылками на дочерние элементы узла. Он есть у каждого узла и может быть пустым, если дочерних узлов нет. А хмл твой является невалидным, т.е. неверен с точки зрения хмл. Например, открывающий и закрывающий теги должны быть одинаковы по имени, а у тебя разные.
MINASTIS
12.06.2006, 13:52
<id2>2</id> вот это вот что такое, объясни?! Такого не может быть! Надо одинаковые имена! :D
2 MINASTIS
Ой! Это мой косяк! :) Надо было:
<id2>2</id2>
Как никак, а суть вопроса еще не раскрыта...
MINASTIS
12.06.2006, 14:19
Сказано же создай массив блин и слей в него childnodes.
trace (имяТвоегоXML.firstChild.childNodes.length);
Minastis, прекрати давать вредные советы и не надо неверно толковать мои слова!
Homo Sapiens
12.06.2006, 19:09
Так, между прочим, в XML документе допустим только один корневой узел.
Узнать имя можно через nodeName. А вообще хелп рулит :)
Так, между прочим, в XML документе допустим только один корневой узел.
Узнать имя можно через nodeName. А вообще хелп рулит :)
В спецификации да, но флешу на это пока (еще) пофиг.
MINASTIS
12.06.2006, 19:46
2 _etc не буду не буду :) мне просто делать нечего было несколько часов вот я и толковал.
Хм. Мне конечно пофиг если можно нормально работать и без имен :) нафиг тогда мне получается с именами заморачиваться... надо так попробовать...
Хм. Мне конечно пофиг если можно нормально работать и без имен :) нафиг тогда мне получается с именами заморачиваться... надо так попробовать...
Чтобы читая твой xml, ты сам или заказчик не путался, что сье значит.
Просто я хотел обращаться к доку по именам, типа:
XML.childNodes["tg1"].childNodes["item"]["1"].childNodes["id2"].nodeValue
Для этого существует idMap и параметр id у тегов
Для этого существует idMap и параметр id у тегов
Угу, только Id то уникальный :)
2 __etc
Ну вот серьезно, ты думаешь я что-то из этого понял? :) Как всегда хочу пример.
Пример есть в хелпе. Ключевые слова в поиске я тебе назвал. Я написать не могу, т.к. пишу с мобильного. Сделай что-нибудь сам, например нажми ф1 и кнопку поиска
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.