C中的XML API?

他们都这么复杂吗? : http : //msdn.microsoft.com/en-us/library/ms766497(VS.85).aspx

只需要一些基本的东西来用C生成XML。

如果你需要简单,容易和C的东西, MiniXML可能就是你想要的东西:

Mini-XML:轻量级XML库

Mini-XML是一个小型XML库,可用于在应用程序中读取和写入XML和类似XML的数据文件,而无需大型非标准库。 Mini-XML只需要ANSI C兼容的编译器(GCC和大多数供应商的ANSI C编译器一样工作)和’make’程序。

然而,其中有很多种类的复杂性和需求。 MiniXML很不错,因为它不需要简单的Ansi C编译器。 其中很多都需要其他库或特定的编译器。

-亚当

我喜欢libxml 。 这是一个使用示例:

#include  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 ")); xmlDocSetRootElement(doc, root); /* Dump the document to a buffer and print it for demonstration purposes. */ 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      text con&tent and <tag>  

有关实际示例,请参阅我对RFC 5388的 实现 。

众所周知, Xerces很容易,试一试

在C中制作XML的最简单方法是来自Tim Bray的高质量和免费的genx: http ://www.tbray.org/ongoing/When/200x/2004/02/20/GenxStatus

  • Gnome 的XML C解析器是一个广泛的XML API。
  • XML安全库是libxml2之上的一个很好的C库。