⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intro.man

📁 minixml2.5最新的版本。 嵌入式xml 解析、查找、生成、遍历 功能,全部实现是标准c,移植很容易。 最新的2.5
💻 MAN
字号:
.SH INCLUDE FILE#include <mxml.h>.SH LIBRARY\-lmxml.SH DESCRIPTIONMini-XML is a small XML parsing library that you can use toread XML and XML-like data files in your application withoutrequiring large non-standard libraries.  Mini-XML onlyrequires an ANSI C compatible compiler (GCC works, as domost vendors' ANSI C compilers) and a "make" program..PPMini-XML provides the following functionality:.IP \(bu 4Reading of UTF-8 and UTF-16 and writing of UTF-8 encoded XML files and strings..IP \(bu 4Data is stored in a linked-list tree structure,preserving the XML data hierarchy..IP \(bu 4Supports arbitrary element names, attributes, and attributevalues with no preset limits, just available memory..IP \(bu 4Supports integer, real, opaque ("cdata"), and text data types in"leaf" nodes..IP \(bu 4Functions for creating, indexing, and managing trees of data..IP \(bu 4"Find" and "walk" functions for easily locating and navigatingtrees of data..PPMini-XML doesn't do validation or other types of processingon the data based upon schema files or other sources ofdefinition information, nor does it support characterentities other than those required by the XMLspecification..SH USING MINI-XMLMini-XML provides a single header file which you include:.nf    #include <mxml.h>.fi.PPNodes are defined by the "mxml_node_t" structure; the "type"member defines the node type (element, integer, opaque,real, or text) which determines which value you want to lookat in the "value" union.  New nodes can be created using the"mxmlNewElement()", "mxmlNewInteger()", "mxmlNewOpaque()","mxmlNewReal()", and "mxmlNewText()" functions.  Onlyelements can have child nodes, and the top node must be anelement, usually "?xml"..PPYou load an XML file using the "mxmlLoadFile()" function:.nf    FILE *fp;    mxml_node_t *tree;    fp = fopen("filename.xml", "r");    tree = mxmlLoadFile(NULL, fp, MXML_NO_CALLBACK);    fclose(fp);.fi.PPSimilarly, you save an XML file using the "mxmlSaveFile()"function:.nf    FILE *fp;    mxml_node_t *tree;    fp = fopen("filename.xml", "w");    mxmlSaveFile(tree, fp, MXML_NO_CALLBACK);    fclose(fp);.fi.PPThe "mxmlLoadString()", "mxmlSaveAllocString()", and"mxmlSaveString()" functions load XML node trees from and saveXML node trees to strings:.nf    char buffer[8192];    char *ptr;    mxml_node_t *tree;    ...    tree = mxmlLoadString(NULL, buffer, MXML_NO_CALLBACK);    ...    mxmlSaveString(tree, buffer, sizeof(buffer),                   MXML_NO_CALLBACK);    ...    ptr = mxmlSaveAllocString(tree, MXML_NO_CALLBACK);.fi.PPYou can find a named element/node using the "mxmlFindElement()"function:.nf    mxml_node_t *node = mxmlFindElement(tree, tree, "name",                                        "attr", "value",                                        MXML_DESCEND);.fi.PPThe "name", "attr", and "value" arguments can be passed asNULL to act as wildcards, e.g.:.nf    /* Find the first "a" element */    node = mxmlFindElement(tree, tree, "a", NULL, NULL,                           MXML_DESCEND);    /* Find the first "a" element with "href" attribute */    node = mxmlFindElement(tree, tree, "a", "href", NULL,                           MXML_DESCEND);    /* Find the first "a" element with "href" to a URL */    node = mxmlFindElement(tree, tree, "a", "href",                           "http://www.easysw.com/~mike/mxml/",                           MXML_DESCEND);    /* Find the first element with a "src" attribute*/    node = mxmlFindElement(tree, tree, NULL, "src", NULL,                           MXML_DESCEND);    /* Find the first element with a "src" = "foo.jpg" */    node = mxmlFindElement(tree, tree, NULL, "src",                           "foo.jpg", MXML_DESCEND);.fi.PPYou can also iterate with the same function:.nf    mxml_node_t *node;    for (node = mxmlFindElement(tree, tree, "name", NULL,                                NULL, MXML_DESCEND);         node != NULL;         node = mxmlFindElement(node, tree, "name", NULL,                                NULL, MXML_DESCEND))    {      ... do something ...    }.fi.PPFinally, once you are done with the XML data, use the"mxmlDelete()" function to recursively free the memory thatis used for a particular node or the entire tree:.nf    mxmlDelete(tree);.fi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -