2011-09-19 2 views
0

그래서 XML 파일을 구문 분석하고 파일에서 데이터를 추출한 다음 추출한 값을 사용하여 코드가 통과했는지 테스트에 실패했는지 여부를 결정해야합니다.xml 파일을 구문 분석하고 통과/실패 테스트 수행 --Linq to xml?

예 : XMax를 추출하면 200보다 작을 필요가 있으며, 더 높은 경우 실패하면 200을 넘어야합니다. XMin을 추출하면 -200 이상이되어야하고, 더 적게 실패하면 통과해야합니다. 나는 YMax를 추출하고 그것을 200 이하로 만들 필요가있다. 나는 YMin을 추출하고 -200 이상이어야하며, 그 이상이라면 통과하지 못했습니다.

<XAxisCalib> 
     <Max>288.46</Max> 
     <Min>-46.6</Min> 
    </XAxisCalib> 
    <YAxisCalib> 
     <Max>646.76</Max> 
     <Min>-89.32</Min> 
    </YAxisCalib> 
    <ZAxisCalib> 
     <Max>19.24</Max> 
     <Min>-143.63</Min> 

사람은 파일 및 데이터를 구문 분석하는 내가 XML에 LINQ를 생각 프로그램을 작성하는 것을 당신에게 제안이 여기

는 XML 파일의 값으로 내가 확인해야 모습입니다 하지만 지금은 어떻게 값을 비교할 수 있는지.

답변

1

LINQ to XML을 사용하면 나에게 잘 들립니다. 그렇습니다. 다음과 같음 :

XDocument doc = XDocument.Load("file.xml"); 
int xMax = (int) doc.Root.Element("XMax"); 
int yMax = (int) doc.Root.Element("YMax"); 
int xMin = (int) doc.Root.Element("XMin"); 
int yMin = (int) doc.Root.Element("YMin"); 

return xMax < 200 && 
     xMin > -200 && 
     yMax < 200 && 
     yMin > -200; 

그런 생각이 아닌 경우 자세한 내용을 알려주세요.

편집 : 문제는 네 가지 테스트가있는 경우, 당신은 뭔가 싶어 :

public bool ValidateXMax(XDocument doc) 
{ 
    int xMax = (int) doc.Root.Element("XMax"); 
    return xMax < 200; 
} 

을 ...하지만 네 번 반복했다. 물론 반복은 값의 하드 코딩처럼 약간 추한 것입니다. 그러나 솔직히 말해서 당신이하려고하는 것이 확실하지 않습니다. 또 다른 대안 : 자신이 그렇게 코드가 파일을 확인하고 XMAX 및이 xMin의 요구해야합니다 ... 그리고 그 점점 것 같아

XDocument doc = XDocument.Load("file.xml"); 
int xMax = (int) doc.Root.Element("XMax"); 
int yMax = (int) doc.Root.Element("YMax"); 
int xMin = (int) doc.Root.Element("XMin"); 
int yMin = (int) doc.Root.Element("YMin"); 

bool xMaxValid = xMax < 200; 
bool yMaxValid = yMax < 200; 
bool xMinValid = xMin > -200; 
bool xMinValid = yMin > -200; 
+0

아니, 실패하고 아래의 경우는 전달 된 값보다 더 높은 경우. 당신이 쓴 곳 : return xMax <200 && xMin> -200 && yMax <200 && yMin> -200; 추출 된 값을 반환합니까? 나는 그것이 통과했는지 실패했는지 결정하고 싶다. –

+0

@Casey : 테스트를 통과했는지 여부는 반환됩니다. 솔직히 지금 당장 당신이 의미하는 바가 무엇인지 분명하지 않습니다. 질문을 명확히하고, http://tinyurl.com/so-hints –

+0

을 읽으십시오. "프로그램이 무효를 반환하므로 반환 식 키워드 뒤에 객체 표현식이 와야합니다."라는 오류에 익숙하십니까? –