2010-12-01 2 views
0

소스 XML에 숫자가 포함되어 있거나 태그가없는 경우 다음 연결 문이 잘 작동합니다. 내가 가진 문제는 태그가 비어 있거나 숫자가 아닌 값이 사용 된 경우입니다. 이러한 상황을 처리하기 위해이 진술을 수정할 수 있습니까?linq to xml, 빈 태그 처리

Convert.ToInt32((string)Data.Elements("groupBy").Elements("depth").FirstOrDefault() ?? "0") 

답변

1

는 LINQ와 함께이 문제를 해결하는 방법을 알고하지 않습니다하지만 당신은 XML 문서의 내용을 보장 할 수없는 경우 다음 그냥 int.TryParse()? 예를 사용하는 것이 더 쉽습니다

int result = 0; 
int.TryParse((string)Data.Elements("groupBy").Elements("depth").FirstOrDefault(), out result); 
0

단순히 할 것이다 :

try 
    int result = (int)Data.Elements("groupBy").Elements("depth").FirstOrDefault(); 
catch 
{ 
    // handle 
} 
+0

문제는이 그렇게하지 않습니다 시도 캐치를 추가 ("새로운 myClass가를 선택"문의 일부) 객체를 생성하는 몇 가지 명령 중 하나라는 것이다 작업. 저는 개별적인 코드 라인을 수정하고 싶었 기 때문에 제 질문에 모든 세부 사항을주지 않았 음을 압니다. – Retrocoder