0

私は次のようなXMLを持っています:

<question>
    <type_elt>
        <opt_out_flag />
    </type_elt>
</question>

type_elt要素名ではありません。<single>実行時に決定されるか、<multiple>または他の何かである可能性があります。これを考えると、どのようにしてopt_out_flag要素の存在を検出できますか?

私はこれを試しました(ここで要素xmlを参照しquestionます):

if (xml.*.opt_out_flag) {
    do_something();
}

ただし、上記の式がない場合でも、opt_out_flagを返しますtrue。明らかに私は何かが欠けていますが、それは何ですか?

4

5 に答える 5

2

これを試して

xml..opt_out_flag

すべての出現を検索します

于 2009-07-21T10:46:45.047 に答える
1

xml.*.hasOwnProperty('opt_out_flag')現在使っているものではなく、使いたいと思います。

于 2009-07-20T19:03:30.873 に答える
0

常に要素<opt_out_flag/>の最初の子になることを保証できますか?<question>その場合、次のようなものが機能するはずです。

(免責事項:これが属性で機能することは知っていますが、子要素で機能するかどうかはわかりません)

if( "opt_out_flag" in xml.children()[0] ) {
    doSomething();
}
于 2009-07-20T19:04:33.413 に答える
0

子孫メソッド(ツリーを再帰的に下る)を使用してタグを見つけることができますか?

var optOutNodes:XMLList = xml.descendants("opt_out_flag");

if(optOutNodes.length())
{
   //do code here
}

これがあなたが探しているものであることを願っています。

于 2009-07-21T18:08:25.407 に答える
0

使用できます

var optOut:Boolean = xml..opt_out_flag != undefined

!=未定義の部分は省略できますが、読みやすくするためにそのままにしておきます。

于 2009-08-12T21:46:36.293 に答える