int main(int argc, const char * argv[]) { const char* path; if (argc == 2) { path = argv[1]; } else { printf("Bad ARGV!\nUse: serialization_high_level <path_to_html_file>\n"); exit(EXIT_FAILURE); } struct res_html res = load_html_file(path); // basic init myhtml_t* myhtml = myhtml_create(); myhtml_init(myhtml, MyHTML_OPTIONS_DEFAULT, 1, 0); // init tree myhtml_tree_t* tree = myhtml_tree_create(); myhtml_tree_init(tree, myhtml); // parse html myhtml_parse(tree, MyENCODING_UTF_8, res.html, res.size); mycore_string_raw_t str_raw; mycore_string_raw_clean_all(&str_raw); if(myhtml_serialization_tree_buffer(myhtml_tree_get_document(tree), &str_raw)) { fprintf(stderr, "Could not serialization for the tree\n"); exit(EXIT_FAILURE); } printf("%s", str_raw.data); mycore_string_raw_destroy(&str_raw, false); // release resources myhtml_tree_destroy(tree); myhtml_destroy(myhtml); free(res.html); return 0; }
int main(int argc, const char * argv[]) { char html[] = "<div><span>Best of Fragments</span><a>click to make happy</a></div>"; // basic init myhtml_t* myhtml = myhtml_create(); myhtml_init(myhtml, MyHTML_OPTIONS_DEFAULT, 1, 0); // init tree myhtml_tree_t* tree = myhtml_tree_create(); myhtml_tree_init(tree, myhtml); // parse html myhtml_parse_fragment(tree, MyHTML_ENCODING_UTF_8, html, strlen(html), MyHTML_TAG_DIV, MyHTML_NAMESPACE_HTML); // print fragment myhtml_tree_print_node_children(tree, myhtml_tree_get_document(tree), stdout, 0); // release resources myhtml_tree_destroy(tree); myhtml_destroy(myhtml); return 0; }