c - C 中有哪些 XML API?

标签 c xml api

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

只需要一些基本的东西就可以在 C 中生成 XML。

最佳答案

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

#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);

}

用'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&amp;tent and &lt;tag&gt;</othernode>
</root>

有关真实示例,请参阅 my implementationRFC 5388 .

关于c - C 中有哪些 XML API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/592954/

相关文章:

c - 将非空指针初始化为什么值?

c - 如何只读取最后 3 位数字?

c# - 在没有 WSDL 的情况下反序列化来自 Web 服务的 SOAP 响应

xml - XPath。 Child 有一个默认的命名空间,如何获取它的元素?

iphone - 最佳实践 : What I should know before creating a web app API for an iPhone app?

java - Spring Boot CALL API 消费

c - 循环 fork 并不像想象的那样工作

根据条件选择 OpenMP pragma

ruby-on-rails - 如何配置与非 ActiveRecord 模型的 has_many 关联

c# - 使用元数据 API 和 C# 从 Salesforce 检索国家/州和行业列表