![]() |
|
||||||||||
|
|||||
|
Доброго времени суток!
Простите за возможно глупый вопрос, но - Есть XML файл с таким содержанием: <?xml version="1.0" encoding="utf-8"?> <playlist version="1" xmlns="http://xspf.org/ns/0/"> <trackList> <track> <title>Movie (FLV)</title> <urllink>http://www.my.com</urllink> </track> </trackList> </playlist> я до этого не имел дела с XML и по манам что-то очень слабо понял что-либо на эту тему.... Заранее спасибо за ответы! |
|
|||||
|
Цитата:
Только как мне теперь загнать значение этого nodeName в переменную? Вот где вопрос..... |
|
|||||
|
Цитата:
|
|
|||||
|
Цитата:
<?xml version="1.0" encoding="utf-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<old>blabla</old>
<new>kukuku</new>
<title>Movie (FLV)</title>
<urllink>http://www.my.com</urllink>
</track>
</trackList>
</playlist>
Спасибо. З.Ы. Нужно для сравнения чтобы хоть что-то понять, а не просто получить результат. |
|
|||||
|
Modus ponens
|
nodeName - свойство XMLNode, если оно является определяющим в поиске, то вот вариант:
var _xml:XML = new XML("<a><b/><c/><c/><d prop='1'/><e>text</e><f><f/></f></a>");
function __getNodes(_str:String, _xml:XML):Array {
var r_arr:Array = [];
var i:Number = _xml.childNodes.length;
while(i){
i--;
if(_xml.childNodes[i].hasChildNodes){
r_arr = r_arr.concat(__getNodes(_str, _xml.childNodes[i]));
}
if(_xml.childNodes[i].nodeName == _str){
trace(_str+" node found: "+_xml.childNodes[i]);
r_arr.push(_xml.childNodes[i]);
}
}
return r_arr;
}
trace("Result Array: "+__getNodes("b",_xml)+"\r------------------------");
trace("Result Array: "+__getNodes("c",_xml)+"\r------------------------");
trace("Result Array: "+__getNodes("d",_xml)+"\r------------------------");
trace("Result Array: "+__getNodes("e",_xml)+"\r------------------------");
trace("Result Array: "+__getNodes("f",_xml)+"\r------------------------");
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> ------------------------
__________________
Hell is the possibility of sanity |
|
|||||
|
лично я посоветовал бы тчательнее изучить 2 класса XML() и XMLNode(), там много всего полезного и интересного. Одно дело пытаться разобраться в чужом коде, что зачем, а другое почитать хелп (чужой код он не всегда хороший). Для меня, например, всегда как-то удобнее было пользоваться циклами for() для обхода xml-деревьев, но это уже личные предпочтения, для меня код такой код читавбельнее, чем циклы while().
|
|
|||||
|
Modus ponens
|
Цитата:
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|