Sind sie alle so komplex? : http://msdn.microsoft.com/en-us/library/ms766497(VS.85).aspxXML-APIs in C?
Nur etwas Grund brauchen
Sind sie alle so komplex? : http://msdn.microsoft.com/en-us/library/ms766497(VS.85).aspxXML-APIs in C?
Nur etwas Grund brauchen
MiniXML sein könnte, was Sie suchen, wenn Sie etwas einfach brauchen , einfach und C:
Mini-XML: Lightweight XML Library
Mini-XML ist eine kleine XML-Bibliothek, die können Sie XML und XML-ähnliche Datendateien in Ihrer Anwendung lesen und schreiben, ohne große Nicht-Standard-Bibliotheken zu benötigen. Mini-XML nur erfordert einen ANSI C kompatiblen Compiler (GCC funktioniert, wie die meisten ANSI C Compiler) und ein 'Make' Programm.
Allerdings gibt es eine ton of them reichen Komplexität und Bedürfnisse. MiniXML ist insofern nett, als es nicht mehr als einen einfachen Ansi C-Compiler benötigt. Viele von ihnen erfordern andere Bibliotheken oder spezielle Compiler.
-Adam
Xerces in C. XML zu erzeugen, ist bekannt es
ein einfach zu sein, geben versuchenSchön, ich habe es gerade gefunden. –
Der einfachste Weg, XML in C zu machen, ist der qualitativ hochwertige und kostenloser genx von Tim Bray: http://www.tbray.org/ongoing/When/200x/2004/02/20/GenxStatus
Ther Markup dieser Antwort würde einen Scheck verdient ... – bortzmeyer
Ja, aber die Tatsache, dass ich zu lahm bin, um herauszufinden, wie man die Links verwenden, sollte nicht davon ablenken, in diese beiden Bibliotheken zu schauen. Sie sind beide ziemlich gut. – Crowley
Ich mag libxml. Hier ist ein Beispiel für die Verwendung:
#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);
}
Zusammengestellt mit ‚gcc -Wall -I/usr/include/libxml2 -c create-xml.c & & gcc -lxml2 -o create-xml create-xml. o‘, wird dieses Programm an:
% ./create-xml
<?xml version="1.0"?>
<root>
<node>
<inside/>
</node>
<othernode>text con&tent and <tag></othernode>
</root>
Für ein echtes Beispiel finden Sie my implementation von RFC 5388.
Sehr cool, danke. –
Tommy, bitte stelle eine neue Frage, anstatt diese zu ändern. –
vtd-xml hat auch einen C-Port. –