![]() |
XML данные
Доброго времени суток!
Простите за возможно глупый вопрос, но - Есть XML файл с таким содержанием: Код:
<?xml version="1.0" encoding="utf-8"?>я до этого не имел дела с XML и по манам что-то очень слабо понял что-либо на эту тему.... Заранее спасибо за ответы! |
nodeName == "urllink" ? (да, это он) : (нет, опять не то!).
|
Код:
<playlist version="1" xmlns="http://xspf.org/ns/0/">вот такая конструкция XML пограмотнее будет.:umnik2: |
Цитата:
Код:
var go_xml:XML = new XML();Только как мне теперь загнать значение этого nodeName в переменную? Вот где вопрос..... |
Цитата:
Код:
var node:XML = new XML(); |
Цитата:
Код:
<?xml version="1.0" encoding="utf-8"?>Спасибо. З.Ы. Нужно для сравнения чтобы хоть что-то понять, а не просто получить результат. |
nodeName - свойство XMLNode, если оно является определяющим в поиске, то вот вариант:
Код:
var _xml:XML = new XML("<a><b/><c/><c/><d prop='1'/><e>text</e><f><f/></f></a>");b node found: <b /> Result Array: <b /> ------------------------ c node found: <c /> c node found: <c /> Result Array: <c />,<c /> ------------------------ d node found: <d prop="1" /> Result Array: <d prop="1" /> ------------------------ e node found: <e>text</e> Result Array: <e>text</e> ------------------------ f node found: <f /> f node found: <f><f /></f> Result Array: <f />,<f><f /></f> ------------------------ |
лично я посоветовал бы тчательнее изучить 2 класса XML() и XMLNode(), там много всего полезного и интересного. Одно дело пытаться разобраться в чужом коде, что зачем, а другое почитать хелп (чужой код он не всегда хороший). Для меня, например, всегда как-то удобнее было пользоваться циклами for() для обхода xml-деревьев, но это уже личные предпочтения, для меня код такой код читавбельнее, чем циклы while().
|
Цитата:
|
Цитата:
|
Спасибо всем за ответы!
Проблему то я решил, но про XML ничего так и не понял.... Я немогу понять иерархию.... Код:
<root> |
-- rootNode -- корневой узел (<root>)
-- childNode -- дочерний узел (дочерние узлы <root> -- <child> и <child2>. У них соотв. дочерние узлы Node и Node2) -- firstChild -- "первый ребенок" первый узел (В узле <root> это <child>, в узле <child> это текстовый узел Node -- nodeValue -- значение узла (у узла Node, значение Node) |
Цитата:
Со строкой this.firstChild.childNode - оно выводит undefined..... мне в предыдущих постах дали строчку this.firstChild.firstChild.firstChild.childNodes[1].firstChild.nodeValue Оно то сработало, но я не пойму почему..... Почему 3 firstChild,почему childNodes[1], и почему после него еще один firstChild? Что из них к какому элементу обращается? |
|
Код:
<?xml version="1.0" encoding="utf-8"?>Код:
this.firstChild.firstChild.firstChild.childNodes[1].firstChild.nodeValueКод:
playlist1) забиваем на шапку <?xml version="1.0" encoding="utf-8"?> 2) this, в данном случае это и есть все дерево, объект класса XML(); 3) this.firstChild - то же самое, что и (2), но firstChild, говорит, что обращаемся к первому узлу (он тут едиственный, корневой) "playlist" 4) this.firstChild.firstChild - обращаемся к первому дочернему узлу, узла "playlist", (опять же единственному) "track" 5) this.firstChild.firstChild.firstChild - опять первый и единственный узел "track", отсюда и 3 firstChild-а :) 6) this.firstChild.firstChild.firstChild.childNodes[1] - childNodes - массив дочерних узлов, стоит "1", т.к. нужен второй эллемент (отсчет с нуля, естественно) 7)this.firstChild.firstChild.firstChild.childNodes[1].firstChild - как можно уже догадаться, узел единственный и первый, можно конечно везде firstChild заменить на childNodes[0], но нафик (достаточно веский аргумент :) ) 8) this.firstChild.firstChild.firstChild.childNodes[1].firstChild.nodeValue - nodeValue- используется для получения значения узла в виде строки, лучше его использовать для получения значения текстового узла (как в данном случае), ибо в противном случае это дело возвратит "null" надеюсь теперь понятно как работает эта строчка и что к чему обращается. P.S.: в данном случае лучше использовать атрибуты, а не тестовые узлы, нет здесь в текстовых узлах никакого смысла. |
ВАУ!!! Даже СУПЕР ВАУ!!! Во это ИМЕННО то в чем моя тупая голова нуждалась!
Пошел я осмысливать и пробовать. ОГРОМНОЕ СПАСИБИЩЕ amesquit !!! |
amesqit, и так вы будете работать с каждым XML? Писать километровые обращения по нодам?
|
Чувствую себя туп-тупарём.....
XML: Код:
<image>Код:
var filik:XML = new XML();Цитата:
|
Код:
var filik:XML = new XML(); |
Цитата:
|
Загрузка во флеше асинхронная.
|
Цитата:
|
Код:
XMLNode.prototype.__resolve = function(p):Object { |
| Часовой пояс GMT +4, время: 04:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.