2013-11-25 2 views
0

누군가 나에게 어떤 힌트를 줄 수 있습니까? 아래 코드를 사용하여 데이터를 읽을 수 있지만 노드가 손상되었는지는 알 수 없습니다.XML 스트림 읽기.

for (;;) { 
    bytes_received = recv (socket_handle , input_buffer , 20000, 0) ; 
    if (bytes_received == -1) { 
     printf ("An error occured during the receive procedure \n") ; 
     return 0 ; 
    } 
    if (bytes_received == 0) break ; 
    printf ("%s" , input_buffer ) ; 
    } 

파일로 작성하고 다른 언어로 처리해야합니까? 또는 RAM에 저장하고 처리 할 수 ​​있습니까? C로 처리하는 것이 합리적입니까?

답변

0

C를 사용하여 스트리밍 방식으로 XML을 읽는 것이 완벽하게 가능합니다. SAX 파서라는 것이 가장 많이 필요할 것입니다. SAX interfacelibxml 인 것을보십시오.

SAX 파서는 예를 들어 사용자가 읽은 바이트를 점진적으로 공급하여 작동합니다. 소켓. 요소가 시작되었음을 감지 할 때마다 텍스트가 파싱됩니다. 콜백 함수를 호출하여 점진적으로 XML 스트림을 처리 할 수 ​​있습니다.

+0

설명서가 손상된 것 같습니다. 나는 아직도 om을 읽었지 만 도서관을 사용하고 싶다. 증분 급식의 예를 들어 주시겠습니까? – MaMu