C中的XML API?
它们都这么复杂吗 只需要一些基本的东西就可以用C生成XML。众所周知很简单,试一试如果您需要一些简单、易用的C: MiniXML是一个小型XML库,它 您可以使用来读写XML和 数据库中类似XML的数据文件 无需大容量的应用程序 非标准图书馆。仅限迷你XML 需要与ANSI C兼容的编译器 (GCC起作用,大多数供应商的ANSI C也是如此 编译器)和“生成”程序 然而,在复杂性和需求方面存在一系列问题。MiniXML很好,因为它只需要一个简单的Ansi C编译器。其中很多都需要其他库或特定的编译器C中的XML API?,c,xml,api,C,Xml,Api,它们都这么复杂吗 只需要一些基本的东西就可以用C生成XML。众所周知很简单,试一试如果您需要一些简单、易用的C: MiniXML是一个小型XML库,它 您可以使用来读写XML和 数据库中类似XML的数据文件 无需大容量的应用程序 非标准图书馆。仅限迷你XML 需要与ANSI C兼容的编译器 (GCC起作用,大多数供应商的ANSI C也是如此 编译器)和“生成”程序 然而,在复杂性和需求方面存在一系列问题。MiniXML很好,因为它只需要一个简单的Ansi C编译器。其中很多都需要其他库或特定的
-Adam在C中生成XML的最简单方法是Tim Bray提供的高质量免费genx:
- Gnome是一个扩展的XML C API
- 是libxml2之上的一个很好的C库
- 我喜欢。以下是一个使用示例:
#include <libxml/parser.h>
int
main(void)
{
xmlNodePtr root, node;
xmlDocPtr doc;
xmlChar *xmlbuff;
int buffersize;
/* Create the document. */
doc = xmlNewDoc(BAD_CAST "1.0");
root = xmlNewNode(NULL, BAD_CAST "root");
/* Create some nodes */
node = xmlNewChild(root, NULL, BAD_CAST "node", NULL);
node = xmlNewChild(node, NULL, BAD_CAST "inside", NULL);
node = xmlNewChild(root, NULL, BAD_CAST "othernode", NULL);
/* Put content in a node: note there are special characters so
encoding is necessary! */
xmlNodeSetContent(node,
xmlEncodeSpecialChars(doc, BAD_CAST "text con&tent and <tag>"));
xmlDocSetRootElement(doc, root);
/* Dump the document to a buffer and print it for demonstration purposes. */
xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1);
printf((char *) xmlbuff);
}
#包括
int
主(空)
{
xmlNodePtr根,节点;
xmlDocPtr文件;
xmlChar*xmlbuff;
int缓冲区大小;
/*创建文档*/
doc=xmlNewDoc(BAD_CAST“1.0”);
root=xmlNewNode(NULL,错误的“root”);
/*创建一些节点*/
node=xmlNewChild(根,NULL,错误的“节点”,NULL);
node=xmlNewChild(node,NULL,内部错误转换,NULL);
node=xmlNewChild(root,NULL,错误的“othernode”,NULL);
/*将内容放入节点:注意,有特殊字符,因此
编码是必要的*/
xmlNodeSetContent(节点,
xmlEncodeSpecialChars(文档、坏演员“文本内容和”);
xmlDocSetRootElement(doc,root);
/*将文档转储到缓冲区并打印以供演示*/
xmlDocDumpFormatMemory(doc、&xmlbuff、&buffersize,1);
printf((char*)xmlbuff);
}
使用“gcc-Wall-I/usr/include/libxml2-c create xml.c&&gcc”编译
-lxml2-o create xml create xml.o',此程序将显示:
% ./create-xml
<?xml version="1.0"?>
<root>
<node>
<inside/>
</node>
<othernode>text con&tent and <tag></othernode>
</root>
%./createxml
文康及;帐篷和标签
关于一个真实的例子,请参见。Tommy,请提出一个新的问题,而不是改变这个问题。是的,但事实上,我太跛脚了,不知道如何使用链接,这不应该妨碍我研究这两个库。他们都很好。