读取XML流。

时间:2013-11-25 09:40:50

标签: c stream

有人能给我任何提示怎么做吗? 使用下面的代码我可以读取数据,但我不知道我是否破坏了节点。

  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做它是否合理?

1 个答案:

答案 0 :(得分:0)

使用C以流式方式读取XML是完全合理的。您最想要的是所谓的SAX解析器。请查看SAX interfacelibxml

SAX解析器通过在从例如它们读取字节时递增地提供字节来工作。一个插座。每当他们检测到元素被启动,文本被解析等时,他们就会调用一个回调函数,让你以递增的方式处理XML流。