这篇教程C++ xmlStrdup函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中xmlStrdup函数的典型用法代码示例。如果您正苦于以下问题:C++ xmlStrdup函数的具体用法?C++ xmlStrdup怎么用?C++ xmlStrdup使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了xmlStrdup函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: rxml_default_tree_indent_string_set/* * call-seq: * XML.default_tree_indent_string = "string" * * Set the default string used by parsers to indent the XML tree * for output. */static VALUE rxml_default_tree_indent_string_set(VALUE klass, VALUE string){ Check_Type(string, T_STRING); xmlTreeIndentString = (const char *)xmlStrdup((xmlChar *)StringValuePtr(string)); return (string);}
开发者ID:xml4r,项目名称:libxml-ruby,代码行数:13,
示例2: pgxmlNodeSetToTextstatic xmlChar*pgxmlNodeSetToText(xmlNodeSetPtr nodeset, xmlChar * toptagname, xmlChar * septagname, xmlChar * plainsep){ /* Function translates a nodeset into a text representation */ /* * iterates over each node in the set and calls xmlNodeDump to write it to * an xmlBuffer -from which an xmlChar * string is returned. */ /* each representation is surrounded by <tagname> ... </tagname> */ /* * plainsep is an ordinary (not tag) seperator - if used, then nodes are * cast to string as output method */ xmlBufferPtr buf; xmlChar *result; int i; buf = xmlBufferCreate(); if ((toptagname != NULL) && (xmlStrlen(toptagname) > 0)) { xmlBufferWriteChar(buf, "<"); xmlBufferWriteCHAR(buf, toptagname); xmlBufferWriteChar(buf, ">"); } if (nodeset != NULL) { for (i = 0; i < nodeset->nodeNr; i++) { if (plainsep != NULL) { xmlBufferWriteCHAR(buf, xmlXPathCastNodeToString(nodeset->nodeTab[i])); /* If this isn't the last entry, write the plain sep. */ if (i < (nodeset->nodeNr) - 1) xmlBufferWriteChar(buf, plainsep); } else { if ((septagname != NULL) && (xmlStrlen(septagname) > 0)) { xmlBufferWriteChar(buf, "<"); xmlBufferWriteCHAR(buf, septagname); xmlBufferWriteChar(buf, ">"); } xmlNodeDump(buf, nodeset->nodeTab[i]->doc, nodeset->nodeTab[i], 1, 0); if ((septagname != NULL) && (xmlStrlen(septagname) > 0)) { xmlBufferWriteChar(buf, "</"); xmlBufferWriteCHAR(buf, septagname); xmlBufferWriteChar(buf, ">"); } } } } if ((toptagname != NULL) && (xmlStrlen(toptagname) > 0)) { xmlBufferWriteChar(buf, "</"); xmlBufferWriteCHAR(buf, toptagname); xmlBufferWriteChar(buf, ">"); } result = xmlStrdup(buf->content); xmlBufferFree(buf); return result;}
开发者ID:CraigBryan,项目名称:PostgresqlFun,代码行数:83,
示例3: xsltprocExternalEntityLoader/* This snippet is borrowed from the xsltproc source * and adapted to help the xsl transform find our temporary * files in $HOME/.gnc-migration-tmp/ */static xmlParserInputPtrxsltprocExternalEntityLoader(const char *URL, const char *ID, xmlParserCtxtPtr ctxt){ xmlParserInputPtr ret; warningSAXFunc warning = NULL; xmlChar *newURL; gchar *tmpdir = g_build_filename (g_get_home_dir (), ".gnc-migration-tmp", NULL); const char *lastsegment = URL; const char *iter = URL; while (*iter != 0) { if (*iter == '/') lastsegment = iter + 1; iter++; } if ((ctxt != NULL) && (ctxt->sax != NULL)) { warning = ctxt->sax->warning; ctxt->sax->warning = NULL; } if (defaultEntityLoader != NULL) { ret = defaultEntityLoader(URL, ID, ctxt); if (ret != NULL) { if (warning != NULL) ctxt->sax->warning = warning; return(ret); } } newURL = xmlStrdup((const xmlChar *) tmpdir); newURL = xmlStrcat(newURL, (const xmlChar *) "/"); newURL = xmlStrcat(newURL, (const xmlChar *) lastsegment); g_free (tmpdir); if (newURL != NULL) { ret = defaultEntityLoader((const char *)newURL, ID, ctxt); if (ret != NULL) { if (warning != NULL) ctxt->sax->warning = warning; xmlFree(newURL); return(ret); } xmlFree(newURL); } if (warning != NULL) { ctxt->sax->warning = warning; if (URL != NULL) DEBUG ("External entity /"%s/" not loaded", URL); else if (ID != NULL) DEBUG ("External entity /"%s/" not loaded", ID); } return(NULL);}
开发者ID:jralls,项目名称:gnucash,代码行数:66,
示例4: dom_xpath_ext_function_phpstatic void dom_xpath_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, int type) /* {{{ */{ zval retval; int result, i; int error = 0; zend_fcall_info fci; xmlXPathObjectPtr obj; char *str; zend_string *callable = NULL; dom_xpath_object *intern; if (! zend_is_executing()) { xmlGenericError(xmlGenericErrorContext, "xmlExtFunctionTest: Function called from outside of PHP/n"); error = 1; } else { intern = (dom_xpath_object *) ctxt->context->userData; if (intern == NULL) { xmlGenericError(xmlGenericErrorContext, "xmlExtFunctionTest: failed to get the internal object/n"); error = 1; } else if (intern->registerPhpFunctions == 0) { xmlGenericError(xmlGenericErrorContext, "xmlExtFunctionTest: PHP Object did not register PHP functions/n"); error = 1; } } if (error == 1) { for (i = nargs - 1; i >= 0; i--) { obj = valuePop(ctxt); xmlXPathFreeObject(obj); } return; } fci.param_count = nargs - 1; if (fci.param_count > 0) { fci.params = safe_emalloc(fci.param_count, sizeof(zval), 0); } /* Reverse order to pop values off ctxt stack */ for (i = nargs - 2; i >= 0; i--) { obj = valuePop(ctxt); switch (obj->type) { case XPATH_STRING: ZVAL_STRING(&fci.params[i], (char *)obj->stringval); break; case XPATH_BOOLEAN: ZVAL_BOOL(&fci.params[i], obj->boolval); break; case XPATH_NUMBER: ZVAL_DOUBLE(&fci.params[i], obj->floatval); break; case XPATH_NODESET: if (type == 1) { str = (char *)xmlXPathCastToString(obj); ZVAL_STRING(&fci.params[i], str); xmlFree(str); } else if (type == 2) { int j; array_init(&fci.params[i]); if (obj->nodesetval && obj->nodesetval->nodeNr > 0) { for (j = 0; j < obj->nodesetval->nodeNr; j++) { xmlNodePtr node = obj->nodesetval->nodeTab[j]; zval child; /* not sure, if we need this... it's copied from xpath.c */ if (node->type == XML_NAMESPACE_DECL) { xmlNsPtr curns; xmlNodePtr nsparent; nsparent = node->_private; curns = xmlNewNs(NULL, node->name, NULL); if (node->children) { curns->prefix = xmlStrdup((xmlChar *) node->children); } if (node->children) { node = xmlNewDocNode(node->doc, NULL, (xmlChar *) node->children, node->name); } else { node = xmlNewDocNode(node->doc, NULL, (xmlChar *) "xmlns", node->name); } node->type = XML_NAMESPACE_DECL; node->parent = nsparent; node->ns = curns; } php_dom_create_object(node, &child, &intern->dom); add_next_index_zval(&fci.params[i], &child); } } } break; default: ZVAL_STRING(&fci.params[i], (char *)xmlXPathCastToString(obj)); } xmlXPathFreeObject(obj); } fci.size = sizeof(fci);//.........这里部分代码省略.........
开发者ID:AxiosCros,项目名称:php-src,代码行数:101,
示例5: xmlEncodeEntitiesReentrant//.........这里部分代码省略......... *out++ = 'a'; *out++ = 'm'; *out++ = 'p'; *out++ = ';'; } else if (((*cur >= 0x20) && (*cur < 0x80)) || (*cur == '/n') || (*cur == '/t') || ((html) && (*cur == '/r'))) { /* * default case, just copy ! */ *out++ = *cur; } else if (*cur >= 0x80) { if (((doc != NULL) && (doc->encoding != NULL)) || (html)) { /* * Bj?rn Reese <[email C++ xmlStrlen函数代码示例 C++ xmlStrcasecmp函数代码示例
|