亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? debugxml.c

?? xml開源解析代碼.版本為libxml2-2.6.29,可支持GB3212.網絡消息發送XML時很有用.
?? C
?? 第 1 頁 / 共 5 頁
字號:
    if (output == NULL) return;    xmlCtxtDumpInitCtxt(&ctxt);    ctxt.output = output;    ctxt.depth = depth;    xmlCtxtDumpOneNode(&ctxt, node);    xmlCtxtDumpCleanCtxt(&ctxt);}/** * xmlDebugDumpNode: * @output:  the FILE * for the output * @node:  the node * @depth:  the indentation level. * * Dumps debug information for the element node, it is recursive */voidxmlDebugDumpNode(FILE * output, xmlNodePtr node, int depth){    xmlDebugCtxt ctxt;    if (output == NULL)	output = stdout;    xmlCtxtDumpInitCtxt(&ctxt);    ctxt.output = output;    ctxt.depth = depth;    xmlCtxtDumpNode(&ctxt, node);    xmlCtxtDumpCleanCtxt(&ctxt);}/** * xmlDebugDumpNodeList: * @output:  the FILE * for the output * @node:  the node list * @depth:  the indentation level. * * Dumps debug information for the list of element node, it is recursive */voidxmlDebugDumpNodeList(FILE * output, xmlNodePtr node, int depth){    xmlDebugCtxt ctxt;    if (output == NULL)	output = stdout;    xmlCtxtDumpInitCtxt(&ctxt);    ctxt.output = output;    ctxt.depth = depth;    xmlCtxtDumpNodeList(&ctxt, node);    xmlCtxtDumpCleanCtxt(&ctxt);}/** * xmlDebugDumpDocumentHead: * @output:  the FILE * for the output * @doc:  the document * * Dumps debug information cncerning the document, not recursive */voidxmlDebugDumpDocumentHead(FILE * output, xmlDocPtr doc){    xmlDebugCtxt ctxt;    if (output == NULL)	output = stdout;    xmlCtxtDumpInitCtxt(&ctxt);    ctxt.options |= DUMP_TEXT_TYPE;    ctxt.output = output;    xmlCtxtDumpDocumentHead(&ctxt, doc);    xmlCtxtDumpCleanCtxt(&ctxt);}/** * xmlDebugDumpDocument: * @output:  the FILE * for the output * @doc:  the document * * Dumps debug information for the document, it's recursive */voidxmlDebugDumpDocument(FILE * output, xmlDocPtr doc){    xmlDebugCtxt ctxt;    if (output == NULL)	output = stdout;    xmlCtxtDumpInitCtxt(&ctxt);    ctxt.options |= DUMP_TEXT_TYPE;    ctxt.output = output;    xmlCtxtDumpDocument(&ctxt, doc);    xmlCtxtDumpCleanCtxt(&ctxt);}/** * xmlDebugDumpDTD: * @output:  the FILE * for the output * @dtd:  the DTD * * Dumps debug information for the DTD */voidxmlDebugDumpDTD(FILE * output, xmlDtdPtr dtd){    xmlDebugCtxt ctxt;    if (output == NULL)	output = stdout;    xmlCtxtDumpInitCtxt(&ctxt);    ctxt.options |= DUMP_TEXT_TYPE;    ctxt.output = output;    xmlCtxtDumpDTD(&ctxt, dtd);    xmlCtxtDumpCleanCtxt(&ctxt);}/************************************************************************ *									* *			Public entry points for checkings		* *									* ************************************************************************//** * xmlDebugCheckDocument: * @output:  the FILE * for the output * @doc:  the document * * Check the document for potential content problems, and output * the errors to @output * * Returns the number of errors found */intxmlDebugCheckDocument(FILE * output, xmlDocPtr doc){    xmlDebugCtxt ctxt;    if (output == NULL)	output = stdout;    xmlCtxtDumpInitCtxt(&ctxt);    ctxt.output = output;    ctxt.check = 1;    xmlCtxtDumpDocument(&ctxt, doc);    xmlCtxtDumpCleanCtxt(&ctxt);    return(ctxt.errors);}/************************************************************************ *									* *			Helpers for Shell				* *									* ************************************************************************//** * xmlLsCountNode: * @node:  the node to count * * Count the children of @node. * * Returns the number of children of @node. */intxmlLsCountNode(xmlNodePtr node) {    int ret = 0;    xmlNodePtr list = NULL;        if (node == NULL)	return(0);    switch (node->type) {	case XML_ELEMENT_NODE:	    list = node->children;	    break;	case XML_DOCUMENT_NODE:	case XML_HTML_DOCUMENT_NODE:#ifdef LIBXML_DOCB_ENABLED	case XML_DOCB_DOCUMENT_NODE:#endif	    list = ((xmlDocPtr) node)->children;	    break;	case XML_ATTRIBUTE_NODE:	    list = ((xmlAttrPtr) node)->children;	    break;	case XML_TEXT_NODE:	case XML_CDATA_SECTION_NODE:	case XML_PI_NODE:	case XML_COMMENT_NODE:	    if (node->content != NULL) {		ret = xmlStrlen(node->content);            }	    break;	case XML_ENTITY_REF_NODE:	case XML_DOCUMENT_TYPE_NODE:	case XML_ENTITY_NODE:	case XML_DOCUMENT_FRAG_NODE:	case XML_NOTATION_NODE:	case XML_DTD_NODE:        case XML_ELEMENT_DECL:        case XML_ATTRIBUTE_DECL:        case XML_ENTITY_DECL:	case XML_NAMESPACE_DECL:	case XML_XINCLUDE_START:	case XML_XINCLUDE_END:	    ret = 1;	    break;    }    for (;list != NULL;ret++)         list = list->next;    return(ret);}/** * xmlLsOneNode: * @output:  the FILE * for the output * @node:  the node to dump * * Dump to @output the type and name of @node. */voidxmlLsOneNode(FILE *output, xmlNodePtr node) {    if (output == NULL) return;    if (node == NULL) {	fprintf(output, "NULL\n");	return;    }    switch (node->type) {	case XML_ELEMENT_NODE:	    fprintf(output, "-");	    break;	case XML_ATTRIBUTE_NODE:	    fprintf(output, "a");	    break;	case XML_TEXT_NODE:	    fprintf(output, "t");	    break;	case XML_CDATA_SECTION_NODE:	    fprintf(output, "C");	    break;	case XML_ENTITY_REF_NODE:	    fprintf(output, "e");	    break;	case XML_ENTITY_NODE:	    fprintf(output, "E");	    break;	case XML_PI_NODE:	    fprintf(output, "p");	    break;	case XML_COMMENT_NODE:	    fprintf(output, "c");	    break;	case XML_DOCUMENT_NODE:	    fprintf(output, "d");	    break;	case XML_HTML_DOCUMENT_NODE:	    fprintf(output, "h");	    break;	case XML_DOCUMENT_TYPE_NODE:	    fprintf(output, "T");	    break;	case XML_DOCUMENT_FRAG_NODE:	    fprintf(output, "F");	    break;	case XML_NOTATION_NODE:	    fprintf(output, "N");	    break;	case XML_NAMESPACE_DECL:	    fprintf(output, "n");	    break;	default:	    fprintf(output, "?");    }    if (node->type != XML_NAMESPACE_DECL) {	if (node->properties != NULL)	    fprintf(output, "a");	else		    fprintf(output, "-");	if (node->nsDef != NULL) 	    fprintf(output, "n");	else		    fprintf(output, "-");    }    fprintf(output, " %8d ", xmlLsCountNode(node));    switch (node->type) {	case XML_ELEMENT_NODE:	    if (node->name != NULL)		fprintf(output, "%s", (const char *) node->name);	    break;	case XML_ATTRIBUTE_NODE:	    if (node->name != NULL)		fprintf(output, "%s", (const char *) node->name);	    break;	case XML_TEXT_NODE:	    if (node->content != NULL) {		xmlDebugDumpString(output, node->content);            }	    break;	case XML_CDATA_SECTION_NODE:	    break;	case XML_ENTITY_REF_NODE:	    if (node->name != NULL)		fprintf(output, "%s", (const char *) node->name);	    break;	case XML_ENTITY_NODE:	    if (node->name != NULL)		fprintf(output, "%s", (const char *) node->name);	    break;	case XML_PI_NODE:	    if (node->name != NULL)		fprintf(output, "%s", (const char *) node->name);	    break;	case XML_COMMENT_NODE:	    break;	case XML_DOCUMENT_NODE:	    break;	case XML_HTML_DOCUMENT_NODE:	    break;	case XML_DOCUMENT_TYPE_NODE:	    break;	case XML_DOCUMENT_FRAG_NODE:	    break;	case XML_NOTATION_NODE:	    break;	case XML_NAMESPACE_DECL: {	    xmlNsPtr ns = (xmlNsPtr) node;	    if (ns->prefix == NULL)		fprintf(output, "default -> %s", (char *)ns->href);	    else		fprintf(output, "%s -> %s", (char *)ns->prefix,			(char *)ns->href);	    break;	}	default:	    if (node->name != NULL)		fprintf(output, "%s", (const char *) node->name);    }    fprintf(output, "\n");}/** * xmlBoolToText: * @boolval: a bool to turn into text * * Convenient way to turn bool into text  * * Returns a pointer to either "True" or "False" */const char *xmlBoolToText(int boolval){    if (boolval)        return("True");    else        return("False");}#ifdef LIBXML_XPATH_ENABLED/**************************************************************** *								* *	 	The XML shell related functions			* *								* ****************************************************************//* * TODO: Improvement/cleanups for the XML shell *     - allow to shell out an editor on a subpart *     - cleanup function registrations (with help) and calling *     - provide registration routines *//** * xmlShellPrintXPathError: * @errorType: valid xpath error id * @arg: the argument that cause xpath to fail * * Print the xpath error to libxml default error channel */voidxmlShellPrintXPathError(int errorType, const char *arg){    const char *default_arg = "Result";    if (!arg)        arg = default_arg;    switch (errorType) {        case XPATH_UNDEFINED:            xmlGenericError(xmlGenericErrorContext,                            "%s: no such node\n", arg);            break;        case XPATH_BOOLEAN:            xmlGenericError(xmlGenericErrorContext,                            "%s is a Boolean\n", arg);            break;        case XPATH_NUMBER:            xmlGenericError(xmlGenericErrorContext,                            "%s is a number\n", arg);            break;        case XPATH_STRING:            xmlGenericError(xmlGenericErrorContext,                            "%s is a string\n", arg);            break;        case XPATH_POINT:            xmlGenericError(xmlGenericErrorContext,                            "%s is a point\n", arg);            break;        case XPATH_RANGE:            xmlGenericError(xmlGenericErrorContext,                            "%s is a range\n", arg);            break;        case XPATH_LOCATIONSET:            xmlGenericError(xmlGenericErrorContext,                            "%s is a range\n", arg);            break;        case XPATH_USERS:            xmlGenericError(xmlGenericErrorContext,                            "%s is user-defined\n", arg);            break;        case XPATH_XSLT_TREE:            xmlGenericError(xmlGenericErrorContext,                            "%s is an XSLT value tree\n", arg);            break;    }#if 0    xmlGenericError(xmlGenericErrorContext,                    "Try casting the result string function (xpath builtin)\n",                    arg);#endif}#ifdef LIBXML_OUTPUT_ENABLED/** * xmlShellPrintNodeCtxt: * @ctxt : a non-null shell context * @node : a non-null node to print to the output FILE * * Print node to the output FILE */static voidxmlShellPrintNodeCtxt(xmlShellCtxtPtr ctxt,xmlNodePtr node){    FILE *fp;    if (!node)        return;    if (ctxt == NULL)	fp = stdout;    else	fp = ctxt->output;    if (node->type == XML_DOCUMENT_NODE)        xmlDocDump(fp, (xmlDocPtr) node);    else if (node->type == XML_ATTRIBUTE_NODE)        xmlDebugDumpAttrList(fp, (xmlAttrPtr) node, 0);    else        xmlElemDump(fp, node->doc, node);    fprintf(fp, "\n");}/** * xmlShellPrintNode: * @node : a non-null node to print to the output FILE * * Print node to the output FILE */voidxmlShellPrintNode(xmlNodePtr node){    xmlShellPrintNodeCtxt(NULL, node);}#endif /* LIBXML_OUTPUT_ENABLED */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本免费一区二区三区| 久久er99精品| 久久精品一区二区三区四区| 色婷婷一区二区三区四区| 久久国产精品72免费观看| 亚洲日本乱码在线观看| 欧美mv和日韩mv的网站| 日本精品一区二区三区高清| 国产麻豆视频一区| 日产国产欧美视频一区精品| 一区二区三区在线看| 国产精品私人自拍| 久久久www成人免费无遮挡大片 | 日韩三级伦理片妻子的秘密按摩| 国产99精品视频| 国产精品主播直播| 精品无人码麻豆乱码1区2区| 蜜桃免费网站一区二区三区| 午夜欧美在线一二页| 午夜激情一区二区三区| 亚洲综合图片区| 亚洲aaa精品| 日韩激情av在线| 另类专区欧美蜜桃臀第一页| 久久黄色级2电影| 国产激情一区二区三区桃花岛亚洲| 国产主播一区二区| av亚洲精华国产精华精| 成人黄色电影在线| av电影在线观看一区| 在线观看欧美黄色| 日韩一区二区三| 久久久久久久综合| 亚洲人成网站影音先锋播放| 亚洲色图19p| 日韩精品三区四区| 国产.欧美.日韩| 欧美日韩精品欧美日韩精品一 | 亚洲男人天堂一区| 日韩电影一区二区三区四区| 日日欢夜夜爽一区| 黄网站免费久久| 色综合天天综合狠狠| 在线日韩一区二区| 久久中文字幕电影| 亚洲精品视频自拍| 美女诱惑一区二区| 成人毛片在线观看| 91精品午夜视频| 亚洲欧洲日产国码二区| 美女高潮久久久| 日本一区二区三区四区| 免费成人在线网站| 欧美在线免费观看视频| 中文一区二区完整视频在线观看 | 亚洲网友自拍偷拍| www..com久久爱| 久久久久国产精品人| 日本人妖一区二区| 欧美人牲a欧美精品| 亚洲免费毛片网站| caoporm超碰国产精品| 欧美sm极限捆绑bd| 欧美aaaaa成人免费观看视频| 在线亚洲欧美专区二区| 一二三区精品福利视频| 91在线无精精品入口| 国产精品网站在线观看| 国产一区在线观看视频| 精品少妇一区二区三区免费观看| 人人精品人人爱| 欧美一区二区视频观看视频 | 国产福利视频一区二区三区| 精品国产麻豆免费人成网站| 麻豆成人91精品二区三区| 51午夜精品国产| 极品尤物av久久免费看| 久久免费偷拍视频| 99久久精品免费看国产| 亚洲欧美视频在线观看视频| 欧美亚洲动漫制服丝袜| 亚洲成a人片在线不卡一二三区| 欧美日韩国产成人在线免费| 麻豆久久久久久久| 国产精品午夜在线观看| 97国产一区二区| 婷婷成人激情在线网| 2020国产精品自拍| 一本到不卡精品视频在线观看| 亚洲综合免费观看高清在线观看| 欧美精品乱码久久久久久| 国产在线视频不卡二| 一区二区三区中文字幕精品精品 | 亚洲成av人片观看| 久久网站最新地址| 色播五月激情综合网| 精品一区二区三区免费毛片爱 | 日韩成人dvd| 国产精品久线观看视频| 91精品国产综合久久福利软件| 国产一区二区三区四区五区美女| 亚洲欧美国产高清| 久久综合av免费| 欧美日韩国产综合久久 | 91美女片黄在线观看91美女| 精品一区在线看| 亚洲成人你懂的| 亚洲同性同志一二三专区| 久久久激情视频| 欧美一区二区美女| 欧美视频在线一区| 成人av中文字幕| 国模大尺度一区二区三区| 亚洲国产一区二区在线播放| 国产精品三级在线观看| 久久网站热最新地址| 欧美精品一区二区三区在线播放| 欧美日韩中文一区| 欧美二区三区的天堂| 欧美日高清视频| 日韩一区二区三区av| 欧美精选一区二区| 在线不卡免费欧美| 日韩色视频在线观看| www久久精品| 中文字幕免费观看一区| 椎名由奈av一区二区三区| 国产精品久久久久久妇女6080| 国产精品久久久久三级| 国产精品久久久久久亚洲伦 | 艳妇臀荡乳欲伦亚洲一区| 亚洲天堂成人网| 一区二区激情视频| 午夜精彩视频在线观看不卡| 美女www一区二区| av一本久道久久综合久久鬼色| 一本色道**综合亚洲精品蜜桃冫| 欧美体内she精高潮| 日韩三级精品电影久久久| 337p粉嫩大胆色噜噜噜噜亚洲 | 亚洲成人免费视频| 捆绑调教一区二区三区| 不卡影院免费观看| 在线观看国产一区二区| 久久夜色精品一区| 亚洲欧美日韩在线| 久久精品国产77777蜜臀| 成人污视频在线观看| 欧美人伦禁忌dvd放荡欲情| 国产视频一区不卡| 偷窥少妇高潮呻吟av久久免费| 国产精品一区二区久久精品爱涩| 99久久伊人网影院| 日韩精品一区二区三区老鸭窝| 国产精品视频看| 国产精品一卡二| 欧美v亚洲v综合ⅴ国产v| 一区二区成人在线| 91在线观看成人| 日本一二三不卡| 韩国v欧美v日本v亚洲v| 欧美久久久久久蜜桃| 亚洲男人的天堂在线aⅴ视频| 国产成人av福利| 精品对白一区国产伦| 美女免费视频一区| 欧美精品色一区二区三区| 亚洲va欧美va人人爽| 欧美色图第一页| 亚洲成人免费看| 欧美日韩免费一区二区三区视频| 一区二区三区中文字幕精品精品| 成人ar影院免费观看视频| 中文字幕乱码日本亚洲一区二区 | 欧美老女人第四色| 亚洲成人av资源| 91精品国产一区二区三区香蕉| 午夜伊人狠狠久久| 日韩欧美国产综合一区| 日本不卡一区二区三区高清视频| 欧美狂野另类xxxxoooo| 蜜臀精品一区二区三区在线观看 | 成人精品免费看| 亚洲欧美日韩中文字幕一区二区三区| 99久久777色| 午夜影院在线观看欧美| 26uuu久久天堂性欧美| 成人avav在线| 石原莉奈在线亚洲二区| 欧美精品一区二区三区高清aⅴ| 精品一区二区在线播放| 中文字幕不卡的av| 欧美三区在线观看| 国产在线播放一区三区四| 国产欧美va欧美不卡在线| 成人18视频日本| 亚洲h在线观看| 国产免费久久精品| 欧美色网一区二区| 激情综合色播激情啊|