2017-10-26 9 views
-2

私は解析する必要がある巨大なxmlデータを持っています。定義されていない値はほとんどありません。結果として私はTypeError: Cannot read property 'childNodes' of undefinedエラーを取得しています。これらの未定義の値を扱い、プログラムの実行を続ける方法はありますか?ありがとうございます。無視Javascriptで未定義の値

+1

あなたのコードを投稿してください。そうでなければ何も言い難いです。 – poohitan

+0

あなたの解析とあなたのデータを表示するか、あなたが使っているパーサーを示すのに有益でしょうか? – DanteTheSmith

+0

を呼び出してから、 'childNodes'を呼び出す前に、hasOwnProperty属性を使用しているかどうかを確認してください。 –

答えて

0

ソースはありませんが、一般的にパーサーがValue = parsedValueのようなものを作っています(配列、リストなどに構文解析された値を割り当てます)。Value = parsedValue || defaulValueを使用できます。

これはJSのショートカットで、未定義値とnull値の移動方法です。デフォルト値は、""または0のように単純なものにすることができます。

あなたの問題は、オブジェクトがパーサは他のショートカットにその時間を割り当てていることを考え、いくつかのプロパティミスということであれば:あなたの値が定義されている場合childNodes、テストを取得する前に

Value = (myObject && myObject.myProperty && myObject.myProperty.itsProperty) ? myObject.myProperty.itsProperty : undefined; 
+1

これはこのエラーを防ぎますが、 'Value.childNodes'をループしようとすると新しいエラーが発生する可能性があります。 – Barmar

0

を。

if (something) { 
    var children = something.childNodes; 
    // process children 
}