2009-12-10 3 views
0

ssh 세션에 명령을 제출하고 실행중인 쿼리 유형에 따라 가변적 인 XML 응답을 다시받는 중입니다. 나는XML에서 Linq를 사용하여 .NET에서 변수 XML 문서를 열거하는 방법

<CLIOutput> 
    <Results> 
    <ReturnCode>0</ReturnCode> 
    <EventCode>23000</EventCode> 
    <EventSummary>CLI command completed successfully.</EventSummary> 
    </Results> 
    <Data> 
    <Row> 
     <Client>kcllaptop</Client> 
     <Domain>/Top/Top</Domain> 
    </Row> 
    <Row> 
     <Client>testclient</Client> 
     <Domain>/Top/Top</Domain> 
    </Row> 
    </Data> 
</CLIOutput> 

내가 다음하여 XDocument로 구문 분석하고, 제가하고 싶은 것은 < 데이터 > 섹션의 다른 < 행 > 속성을 열거하고, 주어진 그들이 변경 ... XML의 다음과 같은 유형의 반환받을 . 항상 DATA 섹션에 있지만 속성 이름과 숫자가 변경됩니다. 위의 예에서 특정 하나를 얻을 수 있지만 좀 더 일반적인 방법을 따릅니다.

나는

_xDoc.Elements().<Data>.<Rows>(0).<Client>.ToValue 

하지만 < 클라이언트 > 이름 변경하여 specifcs 얻을 수 있습니다.

요소에서 반환 된 행을 통해 열거하는 가장 좋은 방법은 무엇입니까?

새 소개 미안합니다.

감사와 환호,

+0

죄송합니다, 설명 - 속성 변경의 이름을, 나는 순서 카운트 작업을 가져올 수 없습니다. –

답변

0

SLaks 작업에 의한 대답은. 그러나 VB.NET에서는 .Elements() 메서드가 필요하지 않습니다.

는 같은 일을 할 것입니다 :

For Each row in _xDoc.<Data>.<Row> 
    Console.WriteLine(row.<Client>.Value) 
Next 
+0

죄송합니다 - 다음에 이 아닐 수도 있습니다. < 도메인 > 일 수 있습니다. 결국 C#에서 작업하고 싶은 것을 얻은 다음 VB.Net 개발자가 아닌 기존 라이브러리에 무언가를 통합해야합니다. –

+0

필요한 경우 VB.NET 구문을 도울 수 있습니다. – CoderDennis

0

나는 VB.Net을 사용하고 있다고 가정합니다.

할 수 있습니다이 같은 Elements 메서드의 반환 값, 돌이 :

For Each client As XElement In _xDoc.Elements().<Data>.<Row> 
    'Do something 
Next 
+0

해야합니다. 대신 대신에. CoderDennis

관련 문제