2017-10-26 8 views
-2

구문 분석해야하는 거대한 xml 데이터가 있습니다. 정의되지 않은 값은 거의 없습니다. 결과적으로 나는 TypeError: Cannot read property 'childNodes' of undefined 오류가 발생합니다. 이러한 정의되지 않은 값을 처리하고 프로그램 실행을 계속할 수있는 방법이 있습니까? 미리 감사드립니다.자바에서 정의되지 않은 값 무시

+1

코드를 게시하십시오. 그렇지 않으면 아무 것도 말하기 어렵습니다. – poohitan

+0

구문 분석과 데이터 또는 구문 분석기를 표시하는 것이 유익합니까? – DanteTheSmith

+0

을 호출하기 전에 'childNodes'를 호출하여 hasOwnProperty 특성을 사용하는지 여부를 확인하십시오. –

답변

0

소스가 아닌데, 파서가 Value = parsedValue (구문, 배열 등의 임의의 것으로 구문 분석 된 값을 할당합니다)과 같은 부분을 어디에서 작성합니까? Value = parsedValue || defaulValue을 사용할 수 있습니다.

이것은 정의되지 않은 null 값을 처리하는 JS 바로 가기입니다. 기본값은 "" 또는 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 
}