C 读取XML流。
有人能告诉我怎么做吗? 使用下面的代码,我可以读取数据,但我不知道是否破坏了节点C 读取XML流。,c,stream,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 ;
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是否合理?使用c以流式方式读取XML是完全合理的。您最可能需要的是所谓的
SAX
解析器。看一看这本书
SAX解析器的工作方式是,当您从套接字读取字节时,递增地向它们提供字节。每次他们检测到一个元素被启动,一个文本被解析等等。他们调用一个回调函数,让您以增量方式处理XML流。文档似乎被破坏了。我仍然阅读我自己的,但希望使用图书馆。你能给我举个增量喂食的例子吗?