PDA

Просмотр полной версии : Как проверить наличие узлов в XML?


Torero
02.09.2007, 01:32
package {
import flash.display.Sprite;
import flash.events.MouseEvent;

public class D extends Sprite {
public function D(){
var paramz:XML=new XML();
paramz=<obj name="SomeObj">
<parametrs>
<a name="a" value="760|1108"/>
<b name="b" value="0|35|20"/>
<c name="c" value="0|.35|.90"/>
</parametrs>
</obj>;
if(paramz.parametrs.a.length()){trace("!!!");}
if(paramz.parametrs.q.length()){trace("!!!");}
}
}
}

Доброго времени суток.
Что-то мне выделенные строки очень не нравятся. Подскажите пжл.правильный способ.

2morrowMan
02.09.2007, 02:19
Ну что тяжело проверить то? Все там работает, хотя незнаю лутший ли это способ проверки наличия узла.
Самое простое и первое что можно зделать для проверки:

...
trace(paramz.parametrs.a.length()); // 1 - есть такой!
trace(paramz.parametrs.q.length()); // 0 - а этого нету!
...

Torero
02.09.2007, 12:26
Я знаю, что все работает.. Просто способ не нравится. Как можно это сделать не вызывая методы?
что-нибудь типа:

if(paramz.parameters.a){trace("!!!");}

2morrowMan
02.09.2007, 17:08
if (paramz.hasOwnProperty('parametrs'))
{
if (paramz.parametrs.hasOwnProperty('a'))
{
...
}

if (paramz.parametrs.hasOwnProperty('q'))
{
...
}
}