Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void test_DOM_buffer_search(void)
- {
- SAX_Callbacks sax;
- int i;
- XMLDoc doc;
- SXML_CHAR* p = sx_strdup(C2SX("<xml><r><socket><id>1223892389</id><pID>3</pID><price>0.32</price><maxcr>10</maxcr></socket></r></xml>"));
- SAX_Callbacks_init(&sax);
- XMLDoc_init(&doc);
- sax.start_doc = DS;
- sax.start_node = NS;
- sax.end_node = NE;
- sax.new_text = NT;
- sax.end_doc = DE;
- sax.on_error = ER;
- XMLSearch search;
- XMLSearch* xmlSearchPtr;
- xmlSearchPtr = &search;
- XMLSearch_init(xmlSearchPtr);
- printf("Reading %d nodes:\n", N);
- for (i = 0; i < N; i++) {
- XMLDoc_parse_buffer_DOM(p, NULL, &doc);
- if (i % 1000 == 0) printf(".\n");
- }
- sx_printf("Start search\n");
- XMLNode* nodeD;
- nodeD = XMLDoc_root(&doc);
- XMLSearch_search_set_text(&search, C2SX("1223892389"));
- XMLNode_print(nodeD, stdout, NULL, NULL, false, 0, 0);
- while ((nodeD = XMLSearch_next(nodeD, &search)) != NULL) {
- printf("Found match: ");
- XMLNode_print(nodeD, stdout, NULL, NULL, false, 0, 0);
- printf("\n");
- }
- printf("End search\n");
- free(p);
- printf("\nFreeing...\n", N);
- XMLDoc_free(&doc);
- printf("\nDone!\n", N);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement