xmlTextReaderRead

xmlTextReaderReadで、次なるノードが見つかるまで移動していく。

Module xmlreader from libxml2
libxml2 で XMLTextReader を使ってみる - えがわたにっき

戻り値1の時は、次のノードが見つかった場合で、その場合は繰り返す。0の場合は、ノードがなくなった場合なので、終了する。
で実行すると、

$ vi main.c
$ gcc main.c -o main -I/usr/include/libxml2 -lxml2
$ ./main
reader = 0x019679c0
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
Move Next Node!
End of move!
$

結構な数のノードがある。

Sample/libxml/xmlTextReaderRead/xmlTextReaderRead/src/xmlTextReaderRead at master · bg1bgst333/Sample · GitHub