0

次のコード行から来ています。

var dropTargetXML:XML = XMLTemplate.template.component.section.question.(@question_questionID == nNode.parent().@question_questionID)[0];

nNode は、これが呼び出される関数への引数として送信される XML ノードです。コードが実行され、期待されるすべての処理が実行されますが、コンパイラはその警告を送信します。フォーマットに問題がありますか?

PS私はそれが次のようなXMLであることを伝えようとしました:

var dropTargetXML:XML = XMLTemplate.template.component.section.question.(@question_questionID == XML(nNode).parent().@question_questionID)[0];

それでも警告が表示されます。

4

1 に答える 1

2

実際にどのように実装されているかはわかりませんが、XML フィルタリングの何かが内部で何かを行っていると思います。簡単な解決策は、問題のコードをフィルタリング スコープから引き出すことです。たとえば、次のようになります。

var questionIDToFind:String = nNode.parent().@question_questionID;
XMLTemplate.template.component.section.question.(@question_questionID == questionIDToFind)[0];

興味がある場合は、 ECMAScript for XML (E4X) 仕様の 62 ~ 63 ページで Filtering 演算子の詳細を読むことができます。

于 2010-01-26T21:42:36.850 に答える