您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ xmlOutputBufferClose函数代码示例

51自学网 2021-06-03 11:46:20
  C++
这篇教程C++ xmlOutputBufferClose函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中xmlOutputBufferClose函数的典型用法代码示例。如果您正苦于以下问题:C++ xmlOutputBufferClose函数的具体用法?C++ xmlOutputBufferClose怎么用?C++ xmlOutputBufferClose使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了xmlOutputBufferClose函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: xmlnode_to_pv

/** * xmlnode_to_pv: * @node: an xmlNode* object * @do_free: do we need to free the node after the conversion * * Return value: a newly allocated SV/PV or under. */static SV*xmlnode_to_pv(xmlNode *node, gboolean do_free){	xmlOutputBufferPtr buf;	SV *pestring = NULL;	if (node == NULL) {		return &PL_sv_undef;	}	buf = xmlAllocOutputBuffer(NULL);	if (buf == NULL) {		pestring = &PL_sv_undef;	} else {		xmlNodeDumpOutput(buf, NULL, node, 0, 1, NULL);		xmlOutputBufferFlush(buf);		if (buf->conv == NULL) {			pestring = newSVpv((char*)buf->buffer->content, 0);		} else {			pestring = newSVpv((char*)buf->conv->content, 0);		}		xmlOutputBufferClose(buf);	}	if (do_free) {		lasso_release_xml_node(node);	}	return pestring;}
开发者ID:cascadeo,项目名称:lasso,代码行数:36,


示例2: quote_nbsp

QString XSL::process(const QString &my_xml){    QString my_xsl;    /* Petr Cimprich, Sablot developer:       &nbsp; is predefined in HTML but not in XML       ... use Unicode numerical entity instead: &#160;*/    my_xsl = quote_nbsp(my_xml);    xmlDocPtr doc = xmlParseMemory(my_xsl.toUtf8(), my_xsl.toUtf8().length());    if (doc == NULL){        string s;        s = static_cast<string>(my_xsl.toLocal8Bit());        log(L_WARN, "Parse XML error: %s", s.c_str());        return QString::null;    }    const char *params[1];    params[0] = NULL;    xmlDocPtr res = xsltApplyStylesheet(d->styleSheet, doc, params);    if (res == NULL){        log(L_WARN, "Apply stylesheet errror");        xmlFreeDoc(doc);        return QString::null;    }    xmlFreeDoc(doc);    xmlOutputBufferPtr buf = xmlAllocOutputBuffer(NULL);    xsltSaveResultTo(buf, res, d->styleSheet);    xmlFreeDoc(res);    QString result = QString::fromUtf8((char*)(buf->buffer->content));    xmlOutputBufferClose(buf);;    return result;}
开发者ID:BackupTheBerlios,项目名称:sim-im-svn,代码行数:34,


示例3: DumpXMLString

extern "C" void DumpXMLString(xmlNodePtr node){    xmlOutputBufferPtr buf = xmlOutputBufferCreateFile(stdout, nullptr);    xmlNodeDumpOutput(buf, node->doc, node, 0, 0, nullptr);    xmlOutputBufferClose(buf);    fprintf(stdout, "/n/n");}
开发者ID:A-Zarembovsky,项目名称:readium-sdk,代码行数:7,


示例4: update_apply_xslt

static gchar *update_apply_xslt (updateJobPtr job){	xsltStylesheetPtr	xslt = NULL;	xmlOutputBufferPtr	buf;	xmlDocPtr		srcDoc = NULL, resDoc = NULL;	gchar			*output = NULL;	g_assert (NULL != job->result);		do {		srcDoc = xml_parse (job->result->data, job->result->size, NULL);		if (!srcDoc) {			g_warning("fatal: parsing request result XML source failed (%s)!", job->request->filtercmd);			break;		}		/* load localization stylesheet */		xslt = xsltParseStylesheetFile (job->request->filtercmd);		if (!xslt) {			g_warning ("fatal: could not load filter stylesheet /"%s/"!", job->request->filtercmd);			break;		}		resDoc = xsltApplyStylesheet (xslt, srcDoc, NULL);		if (!resDoc) {			g_warning ("fatal: applying stylesheet /"%s/" failed!", job->request->filtercmd);			break;		}		buf = xmlAllocOutputBuffer (NULL);		if (-1 == xsltSaveResultTo (buf, resDoc, xslt)) {			g_warning ("fatal: retrieving result of filter stylesheet failed (%s)!", job->request->filtercmd);			break;		}		#ifdef LIBXML2_NEW_BUFFER		if (xmlOutputBufferGetSize (buf) > 0)			output = xmlCharStrdup (xmlOutputBufferGetContent (buf));#else		if (xmlBufferLength (buf->buffer) > 0)			output = xmlCharStrdup (xmlBufferContent (buf->buffer));#endif 		xmlOutputBufferClose (buf);	} while (FALSE);	if (srcDoc)		xmlFreeDoc (srcDoc);	if (resDoc)		xmlFreeDoc (resDoc);	if (xslt)		xsltFreeStylesheet (xslt);		return output;}
开发者ID:matrixchan,项目名称:liferea,代码行数:56,


示例5: xmlOutputBufferClose

	xmlOutputBuffer_auto_ptr& operator=(const xmlOutputBuffer_auto_ptr& _Y) 		{if (this != &_Y)			{if (_Ptr != _Y.get())				{if (_Owns && _Ptr)					xmlOutputBufferClose(_Ptr);				_Owns = _Y._Owns; }			else if (_Y._Owns)				_Owns = true;			_Ptr = _Y.release(); }		return (*this); }
开发者ID:viatsko,项目名称:parser3,代码行数:10,


示例6: SaveResult

 void SaveResult(xmlDocPtr doc, xsltStylesheetPtr stylesheet, TBuffer& to) {     xmlOutputBufferPtr buf = xmlAllocOutputBuffer(NULL); // NULL means UTF8     xsltSaveResultTo(buf, doc, stylesheet);     if (buf->conv != NULL) {         to.Assign((const char*)buf->conv->content, buf->conv->use);     } else {         to.Assign((const char*)buf->buffer->content, buf->buffer->use);     }     xmlOutputBufferClose(buf); }
开发者ID:Frankie-666,项目名称:tomita-parser,代码行数:10,


示例7: xmlFreeTextWriter

c_XMLWriter::~c_XMLWriter() {  if (m_ptr) {    xmlFreeTextWriter(m_ptr);  }  if (m_output) {    xmlBufferFree(m_output);  }  if (m_uri_output) {    xmlOutputBufferClose(m_uri_output);  }}
开发者ID:chethenry,项目名称:hiphop-php,代码行数:11,


示例8: rxml_node_to_s

static VALUE rxml_node_to_s(int argc, VALUE *argv, VALUE self){  VALUE result = Qnil;  VALUE options = Qnil;  xmlNodePtr xnode;  xmlCharEncodingHandlerPtr encodingHandler;  xmlOutputBufferPtr output;  int level = 0;  int indent = 1;  const char *xencoding = "UTF-8";  rb_scan_args(argc, argv, "01", &options);  if (!NIL_P(options))  {    VALUE rencoding, rindent, rlevel;    Check_Type(options, T_HASH);    rencoding = rb_hash_aref(options, ID2SYM(rb_intern("encoding")));    rindent = rb_hash_aref(options, ID2SYM(rb_intern("indent")));    rlevel = rb_hash_aref(options, ID2SYM(rb_intern("level")));    if (rindent == Qfalse)      indent = 0;    if (rlevel != Qnil)      level = NUM2INT(rlevel);    if (rencoding != Qnil)    {      xencoding = xmlGetCharEncodingName((xmlCharEncoding)NUM2INT(rencoding));      if (!xencoding)        rb_raise(rb_eArgError, "Unknown encoding value: %d", NUM2INT(rencoding));    }  }  encodingHandler = xmlFindCharEncodingHandler(xencoding);  output = xmlAllocOutputBuffer(encodingHandler);  xnode = rxml_get_xnode(self);  xmlNodeDumpOutput(output, xnode->doc, xnode, level, indent, xencoding);  xmlOutputBufferFlush(output);  if (output->conv)    result = rxml_new_cstr((const char*) output->conv->content, xencoding);  else    result = rxml_new_cstr((const char*) output->buffer->content, xencoding);  xmlOutputBufferClose(output);    return result;}
开发者ID:nikitug,项目名称:libxml-ruby,代码行数:53,


示例9: xmlParseMemory

    std::string NSXmlCanonicalizator::Execute(const std::string& sXml, int mode, bool withComments)    {        xmlDocPtr xmlDoc = xmlParseMemory((char*)sXml.c_str(), (int)sXml.length());        CXmlBuffer bufferC14N;        xmlOutputBufferPtr _buffer = xmlOutputBufferCreateIO((xmlOutputWriteCallback)buffer_xmlBufferIOWrite,                                                             (xmlOutputCloseCallback)buffer_xmlBufferIOClose,                                                             &bufferC14N,                                                             NULL);        xmlC14NExecute(xmlDoc, buffer_xmlC14NIsVisibleCallback, NULL, mode, NULL, withComments ? 1 : 0, _buffer);        xmlOutputBufferClose(_buffer);        return bufferC14N.builder.GetData();    }
开发者ID:ONLYOFFICE,项目名称:core,代码行数:16,


示例10: dom_documenttype_internal_subset_read

/* {{{ internalSubset	stringreadonly=yesURL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-Core-DocType-internalSubsetSince: DOM Level 2*/int dom_documenttype_internal_subset_read(dom_object *obj, zval *retval){	xmlDtdPtr dtdptr = (xmlDtdPtr) dom_object_get_node(obj);	xmlDtdPtr intsubset;	if (dtdptr == NULL) {		php_dom_throw_error(INVALID_STATE_ERR, 0);		return FAILURE;	}	if (dtdptr->doc != NULL && ((intsubset = xmlGetIntSubset(dtdptr->doc)) != NULL)) {		smart_str ret_buf = {0};		xmlNodePtr cur = intsubset->children;		while (cur != NULL) {			xmlOutputBuffer *buff = xmlAllocOutputBuffer(NULL);			if (buff != NULL) {				xmlNodeDumpOutput (buff, NULL, cur, 0, 0, NULL);				xmlOutputBufferFlush(buff);#ifdef LIBXML2_NEW_BUFFER				smart_str_appendl(&ret_buf, (const char *) xmlOutputBufferGetContent(buff), xmlOutputBufferGetSize(buff));#else				smart_str_appendl(&ret_buf, (char *) buff->buffer->content, buff->buffer->use);#endif				(void)xmlOutputBufferClose(buff);			}			cur = cur->next;		}		if (ret_buf.s) {			smart_str_0(&ret_buf);			ZVAL_NEW_STR(retval, ret_buf.s);			return SUCCESS;		}	}	ZVAL_NULL(retval);	return SUCCESS;}
开发者ID:Llewellynvdm,项目名称:php-src,代码行数:50,


示例11: ews_client_autodiscover_data_free

static gbooleanews_client_autodiscover_data_free (gpointer user_data){  AutodiscoverData *data = user_data;  g_simple_async_result_complete_in_idle (data->res);  if (data->cancellable_id > 0)    {      g_cancellable_disconnect (data->cancellable, data->cancellable_id);      g_object_unref (data->cancellable);    }  /* soup_session_queue_message stole the references to data->msgs */  xmlOutputBufferClose (data->buf);  g_object_unref (data->res);  g_object_unref (data->session);  g_slice_free (AutodiscoverData, data);  return G_SOURCE_REMOVE;}
开发者ID:bpbp-boop,项目名称:gnome-online-accounts,代码行数:21,


示例12: htmlNodeDumpFileFormat

/** * htmlNodeDumpFileFormat: * @out:  the FILE pointer * @doc:  the document * @cur:  the current node * @encoding: the document encoding * @format:  should formatting spaces been added * * Dump an HTML node, recursive behaviour,children are printed too. * * TODO: if encoding == NULL try to save in the doc encoding * * returns: the number of byte written or -1 in case of failure. */inthtmlNodeDumpFileFormat(FILE *out, xmlDocPtr doc,	               xmlNodePtr cur, const char *encoding, int format) {    xmlOutputBufferPtr buf;    xmlCharEncodingHandlerPtr handler = NULL;    int ret;    xmlInitParser();    if (encoding != NULL) {	xmlCharEncoding enc;	enc = xmlParseCharEncoding(encoding);	if (enc != XML_CHAR_ENCODING_UTF8) {	    handler = xmlFindCharEncodingHandler(encoding);	    if (handler == NULL)		return(-1);	}    }    /*     * Fallback to HTML or ASCII when the encoding is unspecified     */    if (handler == NULL)	handler = xmlFindCharEncodingHandler("HTML");    if (handler == NULL)	handler = xmlFindCharEncodingHandler("ascii");    /*      * save the content to a temp buffer.     */    buf = xmlOutputBufferCreateFile(out, handler);    if (buf == NULL) return(0);    htmlNodeDumpFormatOutput(buf, doc, cur, encoding, format);    ret = xmlOutputBufferClose(buf);    return(ret);}
开发者ID:SCIInstitute,项目名称:SCIRun,代码行数:53,


示例13: xsltSaveResultToString

int xsltSaveResultToString(xmlChar **doc_txt_ptr, int * doc_txt_len, xmlDocPtr result, xsltStylesheetPtr style) {    xmlOutputBufferPtr buf;    *doc_txt_ptr = NULL;    *doc_txt_len = 0;    if (result->children == NULL)	return(0);	buf = xmlAllocOutputBuffer(NULL);    if (buf == NULL)		return(-1);    xsltSaveResultTo(buf, result, style);    if (buf->conv != NULL) {		*doc_txt_len = buf->conv->use;		*doc_txt_ptr = xmlStrndup(buf->conv->content, *doc_txt_len);    } else {		*doc_txt_len = buf->buffer->use;		*doc_txt_ptr = xmlStrndup(buf->buffer->content, *doc_txt_len);    }    (void)xmlOutputBufferClose(buf);    return 0;}
开发者ID:MechanisM,项目名称:icecast-kh,代码行数:23,


示例14: sendHeaders

voidServer::sendResponse(Context *ctx, XmlDocSharedHelper doc) {    sendHeaders(ctx);    if (ctx->response()->suppressBody(ctx->request())) {        return;    }     xmlCharEncodingHandlerPtr encoder = NULL;    const std::string &encoding = ctx->documentWriter()->outputEncoding();    if (!encoding.empty() && 0 != strncasecmp(encoding.c_str(), "utf-8", sizeof("utf-8"))) {        encoder = xmlFindCharEncodingHandler(encoding.c_str());    }        xmlOutputBufferPtr buf = xmlOutputBufferCreateIO(writeFunc, closeFunc, ctx, encoder);    XmlUtils::throwUnless(NULL != buf);    try {        ctx->documentWriter()->write(ctx->response(), doc.get(), buf);    }    catch(const std::exception &e) {        xmlOutputBufferClose(buf);        throw e;    }}
开发者ID:bacek,项目名称:xscript,代码行数:24,


示例15: saveResultToString

static bool saveResultToString(xmlDocPtr resultDoc, xsltStylesheetPtr sheet, String& resultString){    xmlOutputBufferPtr outputBuf = xmlAllocOutputBuffer(0);    if (!outputBuf)        return false;    StringBuilder resultBuilder;    outputBuf->context = &resultBuilder;    outputBuf->writecallback = writeToStringBuilder;    int retval = xsltSaveResultTo(outputBuf, resultDoc, sheet);    xmlOutputBufferClose(outputBuf);    if (retval < 0)        return false;    // Workaround for <http://bugzilla.gnome.org/show_bug.cgi?id=495668>:    // libxslt appends an extra line feed to the result.    if (resultBuilder.length() > 0 && resultBuilder[resultBuilder.length() - 1] == '/n')        resultBuilder.resize(resultBuilder.length() - 1);    resultString = resultBuilder.toString();    return true;}
开发者ID:kjthegod,项目名称:WebKit,代码行数:24,


示例16: Error

bool XmlWriter::Create(IOStream *output, XmlWriter **r) {  if (!LibXmlInitialized) {    Error(StringPieceFromLiteral("XmlWriter::Create(): call LibXmlInit first()"));    return false;  }  if (!output)    return false;  xmlOutputBufferPtr output_buffer = xmlOutputBufferCreateIO(_writeCallback, _closeCallback, output, NULL);  if (!output_buffer) {    Error(StringPieceFromLiteral("XmlWriter::Create(): xmlOutputBufferCreateIO fails"));    return false;  }  std::auto_ptr<XmlWriter> xml(new XmlWriter());  xml->libxml_stuff.reset(new LibXmlStuff());  /* NOTE: the xmlOutputBufferPtr parameter will be deallocated when the writer is closed (if the call succeed.) */  xml->libxml_stuff->writer = xmlNewTextWriter(output_buffer);  if (!xml->libxml_stuff->writer) {    xmlOutputBufferClose(output_buffer);    output_buffer = NULL;    Error(StringPieceFromLiteral("XmlWriter::Create(): xmlNewTextWriter fails"));    return false;  }  if (r) {    xmlTextWriterSetIndent(xml->libxml_stuff->writer, 1);    /*if (!xml->StartDocument(output)) {     cpcl::Error(cpcl::StringPieceFromLiteral("XmlWriter::Create(): xmlTextWriterStartDocument fails"));     return false;     }*/    *r = xml.release();  }  return true;}
开发者ID:hatc,项目名称:image-proxy,代码行数:36,


示例17: htmlReadMemory

/** * HTML整形 */const wxString ExtractBoardList::HtmlFormat(const wxString& html){     wxString val;     const wxCharBuffer& cb = html.utf8_str();     htmlDocPtr docPtr = htmlReadMemory(cb.data(), ::strlen(cb.data()), "", "utf-8", HTML_PARSE_RECOVER);     if (docPtr)     {	  // libxml2の***Ptrは何かの
C++ xmlParseChunk函数代码示例
C++ xmlNodeSetContent函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。