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

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

?? testmxml.c

?? minixml2.5最新的版本。 嵌入式xml 解析、查找、生成、遍歷 功能,全部實現是標準c,移植很容易。 最新的2.5
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * "$Id: testmxml.c 270 2007-04-23 21:48:03Z mike $" * * Test program for Mini-XML, a small XML-like file parsing library. * * Copyright 2003-2007 by Michael Sweet. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * Contents: * *   main()          - Main entry for test program. *   sax_cb()        - SAX callback. *   type_cb()       - XML data type callback for mxmlLoadFile()... *   whitespace_cb() - Let the mxmlSaveFile() function know when to insert *                     newlines and tabs... *//* * Include necessary headers... */#include "config.h"#include "mxml.h"#ifdef WIN32#  include <io.h>#else#  include <unistd.h>#endif /* WIN32 */#include <fcntl.h>#ifndef O_BINARY#  define O_BINARY 0#endif /* !O_BINARY *//* * Globals... */int		event_counts[6];/* * Local functions... */void		sax_cb(mxml_node_t *node, mxml_sax_event_t event, void *data);mxml_type_t	type_cb(mxml_node_t *node);const char	*whitespace_cb(mxml_node_t *node, int where);/* * 'main()' - Main entry for test program. */int					/* O - Exit status */main(int  argc,				/* I - Number of command-line args */     char *argv[])			/* I - Command-line args */{  int			i;		/* Looping var */  FILE			*fp;		/* File to read */  int			fd;		/* File descriptor */  mxml_node_t		*tree,		/* XML tree */			*node;		/* Node which should be in test.xml */  mxml_index_t		*ind;		/* XML index */  char			buffer[16384];	/* Save string */  static const char	*types[] =	/* Strings for node types */			{			  "MXML_ELEMENT",			  "MXML_INTEGER",			  "MXML_OPAQUE",			  "MXML_REAL",			  "MXML_TEXT"			}; /*  * Check arguments...  */  if (argc != 2)  {    fputs("Usage: testmxml filename.xml\n", stderr);    return (1);  } /*  * Test the basic functionality...  */  tree = mxmlNewElement(MXML_NO_PARENT, "element");  if (!tree)  {    fputs("ERROR: No parent node in basic test!\n", stderr);    return (1);  }  if (tree->type != MXML_ELEMENT)  {    fprintf(stderr, "ERROR: Parent has type %s (%d), expected MXML_ELEMENT!\n",            tree->type < MXML_ELEMENT || tree->type > MXML_TEXT ?	        "UNKNOWN" : types[tree->type], tree->type);    mxmlDelete(tree);    return (1);  }  if (strcmp(tree->value.element.name, "element"))  {    fprintf(stderr, "ERROR: Parent value is \"%s\", expected \"element\"!\n",            tree->value.element.name);    mxmlDelete(tree);    return (1);  }  mxmlNewInteger(tree, 123);  mxmlNewOpaque(tree, "opaque");  mxmlNewReal(tree, 123.4f);  mxmlNewText(tree, 1, "text");  mxmlLoadString(tree, "<group type='string'>string string string</group>",                 MXML_NO_CALLBACK);  mxmlLoadString(tree, "<group type='integer'>1 2 3</group>",                 MXML_INTEGER_CALLBACK);  mxmlLoadString(tree, "<group type='real'>1.0 2.0 3.0</group>",                 MXML_REAL_CALLBACK);  mxmlLoadString(tree, "<group>opaque opaque opaque</group>",                 MXML_OPAQUE_CALLBACK);  node = tree->child;  if (!node)  {    fputs("ERROR: No first child node in basic test!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (node->type != MXML_INTEGER)  {    fprintf(stderr, "ERROR: First child has type %s (%d), expected MXML_INTEGER!\n",            node->type < MXML_ELEMENT || node->type > MXML_TEXT ?	        "UNKNOWN" : types[node->type], node->type);    mxmlDelete(tree);    return (1);  }  if (node->value.integer != 123)  {    fprintf(stderr, "ERROR: First child value is %d, expected 123!\n",            node->value.integer);    mxmlDelete(tree);    return (1);  }  node = node->next;  if (!node)  {    fputs("ERROR: No second child node in basic test!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (node->type != MXML_OPAQUE)  {    fprintf(stderr, "ERROR: Second child has type %s (%d), expected MXML_OPAQUE!\n",            node->type < MXML_ELEMENT || node->type > MXML_TEXT ?	        "UNKNOWN" : types[node->type], node->type);    mxmlDelete(tree);    return (1);  }  if (!node->value.opaque || strcmp(node->value.opaque, "opaque"))  {    fprintf(stderr, "ERROR: Second child value is \"%s\", expected \"opaque\"!\n",            node->value.opaque ? node->value.opaque : "(null)");    mxmlDelete(tree);    return (1);  }  node = node->next;  if (!node)  {    fputs("ERROR: No third child node in basic test!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (node->type != MXML_REAL)  {    fprintf(stderr, "ERROR: Third child has type %s (%d), expected MXML_REAL!\n",            node->type < MXML_ELEMENT || node->type > MXML_TEXT ?	        "UNKNOWN" : types[node->type], node->type);    mxmlDelete(tree);    return (1);  }  if (node->value.real != 123.4f)  {    fprintf(stderr, "ERROR: Third child value is %f, expected 123.4!\n",            node->value.real);    mxmlDelete(tree);    return (1);  }  node = node->next;  if (!node)  {    fputs("ERROR: No fourth child node in basic test!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (node->type != MXML_TEXT)  {    fprintf(stderr, "ERROR: Fourth child has type %s (%d), expected MXML_TEXT!\n",            node->type < MXML_ELEMENT || node->type > MXML_TEXT ?	        "UNKNOWN" : types[node->type], node->type);    mxmlDelete(tree);    return (1);  }  if (!node->value.text.whitespace ||      !node->value.text.string || strcmp(node->value.text.string, "text"))  {    fprintf(stderr, "ERROR: Fourth child value is %d,\"%s\", expected 1,\"text\"!\n",            node->value.text.whitespace,	    node->value.text.string ? node->value.text.string : "(null)");    mxmlDelete(tree);    return (1);  }  for (i = 0; i < 4; i ++)  {    node = node->next;    if (!node)    {      fprintf(stderr, "ERROR: No group #%d child node in basic test!\n", i + 1);      mxmlDelete(tree);      return (1);    }    if (node->type != MXML_ELEMENT)    {      fprintf(stderr, "ERROR: Group child #%d has type %s (%d), expected MXML_ELEMENT!\n",              i + 1, node->type < MXML_ELEMENT || node->type > MXML_TEXT ?	                 "UNKNOWN" : types[node->type], node->type);      mxmlDelete(tree);      return (1);    }  } /*  * Test indices...  */  ind = mxmlIndexNew(tree, NULL, NULL);  if (!ind)  {    fputs("ERROR: Unable to create index of all nodes!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (ind->num_nodes != 5)  {    fprintf(stderr, "ERROR: Index of all nodes contains %d "                    "nodes; expected 5!\n", ind->num_nodes);    mxmlIndexDelete(ind);    mxmlDelete(tree);    return (1);  }  mxmlIndexReset(ind);  if (!mxmlIndexFind(ind, "group", NULL))  {    fputs("ERROR: mxmlIndexFind for \"group\" failed!\n", stderr);    mxmlIndexDelete(ind);    mxmlDelete(tree);    return (1);  }  mxmlIndexDelete(ind);  ind = mxmlIndexNew(tree, "group", NULL);  if (!ind)  {    fputs("ERROR: Unable to create index of groups!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (ind->num_nodes != 4)  {    fprintf(stderr, "ERROR: Index of groups contains %d "                    "nodes; expected 4!\n", ind->num_nodes);    mxmlIndexDelete(ind);    mxmlDelete(tree);    return (1);  }  mxmlIndexReset(ind);  if (!mxmlIndexEnum(ind))  {    fputs("ERROR: mxmlIndexEnum failed!\n", stderr);    mxmlIndexDelete(ind);    mxmlDelete(tree);    return (1);  }  mxmlIndexDelete(ind);  ind = mxmlIndexNew(tree, NULL, "type");  if (!ind)  {    fputs("ERROR: Unable to create index of type attributes!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (ind->num_nodes != 3)  {    fprintf(stderr, "ERROR: Index of type attributes contains %d "                    "nodes; expected 3!\n", ind->num_nodes);    mxmlIndexDelete(ind);    mxmlDelete(tree);    return (1);  }  mxmlIndexReset(ind);  if (!mxmlIndexFind(ind, NULL, "string"))  {    fputs("ERROR: mxmlIndexFind for \"string\" failed!\n", stderr);    mxmlIndexDelete(ind);    mxmlDelete(tree);    return (1);  }  mxmlIndexDelete(ind);  ind = mxmlIndexNew(tree, "group", "type");  if (!ind)  {    fputs("ERROR: Unable to create index of elements and attributes!\n", stderr);    mxmlDelete(tree);    return (1);  }  if (ind->num_nodes != 3)  {    fprintf(stderr, "ERROR: Index of elements and attributes contains %d "                    "nodes; expected 3!\n", ind->num_nodes);    mxmlIndexDelete(ind);    mxmlDelete(tree);    return (1);  }  mxmlIndexReset(ind);  if (!mxmlIndexFind(ind, "group", "string"))  {    fputs("ERROR: mxmlIndexFind for \"string\" failed!\n", stderr);    mxmlIndexDelete(ind);    mxmlDelete(tree);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产精华| 国产精品亚洲综合一区在线观看| 色吧成人激情小说| 中文字幕亚洲区| 色综合久久久久久久| 亚洲一区在线看| 欧美一级欧美一级在线播放| 国产九色精品成人porny| 日韩一区在线看| 欧美成人综合网站| 色婷婷一区二区| 免费国产亚洲视频| 亚洲人xxxx| 日韩欧美视频在线| 欧美在线免费观看视频| 经典三级视频一区| 亚洲国产成人av好男人在线观看| 日韩美女视频在线| 4438亚洲最大| 欧美在线观看视频一区二区三区| 色婷婷久久久综合中文字幕| 91麻豆123| 欧美亚洲国产怡红院影院| 色欲综合视频天天天| 国产99久久久国产精品免费看| 视频一区二区欧美| 美腿丝袜亚洲三区| 国产精品一区二区久久不卡| 国产精品一卡二卡| 91美女片黄在线观看| 欧美福利一区二区| 精品久久国产字幕高潮| 久久久久久久久久久99999| 欧美精品一二三| 国产亚洲欧美日韩日本| 中文字幕va一区二区三区| 国产精品传媒视频| 香蕉成人啪国产精品视频综合网| 久久99久久99精品免视看婷婷| 麻豆久久久久久| 色菇凉天天综合网| 久久网站最新地址| 国产精品美女www爽爽爽| 日本不卡视频在线| 色诱亚洲精品久久久久久| 精品盗摄一区二区三区| 中文字幕亚洲欧美在线不卡| 麻豆精品国产传媒mv男同| 国产美女久久久久| 欧美一区国产二区| 一区二区三区美女视频| 国产成+人+日韩+欧美+亚洲| 日韩欧美高清dvd碟片| 亚洲国产aⅴ天堂久久| av动漫一区二区| 精品国产在天天线2019| 亚洲1区2区3区视频| 成人激情免费电影网址| 国产精品乱人伦中文| 国产在线视视频有精品| 欧美性受极品xxxx喷水| 一区二区三区中文在线| 国产成人精品免费看| 中文字幕巨乱亚洲| 色综合色狠狠天天综合色| 亚洲人成7777| 97se亚洲国产综合自在线不卡| 26uuu精品一区二区在线观看| 久久国产精品99精品国产| 日韩精品一区国产麻豆| 国产一区二区在线看| 国产精品成人一区二区艾草| 99精品久久免费看蜜臀剧情介绍| 国产欧美精品在线观看| av电影在线观看完整版一区二区| 中文字幕在线不卡视频| 欧美日韩国产高清一区| 成人性生交大片免费看中文 | 亚洲一区在线电影| 在线一区二区三区四区五区| 亚洲在线观看免费视频| 在线播放欧美女士性生活| 丁香一区二区三区| 亚洲成人激情av| 久久久久久97三级| 色先锋资源久久综合| 韩国理伦片一区二区三区在线播放 | 欧美精品vⅰdeose4hd| 韩国中文字幕2020精品| 亚洲一区二区在线视频| 日韩欧美亚洲国产另类| 91麻豆免费看| 国产一区二区三区四区在线观看 | 久久精品夜夜夜夜久久| 91福利视频久久久久| 国内成人精品2018免费看| 亚洲成a人v欧美综合天堂下载| 国产日韩影视精品| 欧美一级国产精品| 欧美日产国产精品| 欧美日韩国产首页在线观看| 91福利社在线观看| 欧美色男人天堂| 蜜臀av性久久久久蜜臀aⅴ流畅| 一区二区三区中文字幕| 亚洲精品一区二区三区99| 欧美一区二区三区在线视频| 在线不卡一区二区| 日韩一区二区免费在线观看| 精品视频色一区| 精品国产一区二区三区四区四| 精品国产露脸精彩对白| 日本一区二区三级电影在线观看 | 国产成人免费视频网站| 国产精品成人在线观看| 日韩avvvv在线播放| 91免费观看视频在线| 精品精品国产高清a毛片牛牛| 久久影音资源网| 最新高清无码专区| 蜜桃视频在线观看一区| 99精品视频在线播放观看| 91福利在线看| 成人一二三区视频| 在线观看国产91| 日韩精品一区二区三区中文不卡| 欧美激情中文字幕| 亚洲mv在线观看| 91农村精品一区二区在线| 日韩免费视频一区| 日韩精品一区二区三区三区免费| 综合色中文字幕| 丁香婷婷深情五月亚洲| 日韩欧美成人一区| 秋霞电影一区二区| 欧美在线观看禁18| 亚洲综合成人在线视频| 91在线视频免费观看| 精品蜜桃在线看| 男女男精品视频网| 91精品国产手机| 偷窥少妇高潮呻吟av久久免费| 93久久精品日日躁夜夜躁欧美| 中文字幕一区二区三区不卡在线| 国产成人日日夜夜| 国产精品蜜臀av| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲精品免费一二三区| 一道本成人在线| 男人操女人的视频在线观看欧美| 日韩一区二区三| 不卡的av在线| 国产精品麻豆视频| 国产成人精品亚洲777人妖| 精品久久久久久久久久久久包黑料| 一区二区三区精品视频在线| 99精品热视频| 伊人色综合久久天天人手人婷| 99久久精品情趣| 亚洲成a人片在线观看中文| 精品视频免费看| 看国产成人h片视频| 国产精品嫩草影院com| 91蝌蚪porny| 一区二区三区在线观看视频| 色噜噜夜夜夜综合网| 蜜臀av在线播放一区二区三区| 精品国产污网站| 成人黄色777网| 午夜精品成人在线视频| 欧美精品一区二区蜜臀亚洲| 暴力调教一区二区三区| 亚洲国产精品久久久男人的天堂| 欧美乱妇20p| 91麻豆文化传媒在线观看| 日本成人超碰在线观看| 国产精品久久久久久久久久免费看 | 中文字幕一区二区三区不卡在线| 欧美久久久久久久久| av不卡在线观看| 蜜桃一区二区三区在线观看| 亚洲色图在线视频| 欧美刺激脚交jootjob| 欧美亚洲国产一区二区三区va | 九九九精品视频| 亚洲国产精品精华液网站| 亚洲视频免费观看| 久久日一线二线三线suv| 91久久一区二区| 91网上在线视频| 不卡av在线网| 成人教育av在线| 99在线精品一区二区三区| 国产精品白丝jk白祙喷水网站| 精品无人区卡一卡二卡三乱码免费卡| 亚洲精品少妇30p| 亚洲国产日韩一区二区| 亚洲男人的天堂网| 亚洲欧美国产三级| 亚洲综合成人在线视频|