libxml2 是一个用于解析和操作 XML 文档的 C 库。它可以用来读取和修改 XML 文档,并且可以保留原始文档的美化格式。

要解析一个 XML 文档,首先需要打开一个文件句柄,然后将其传递给 libxml2 的解析函数。例如,以下代码将打开一个名为 'example.xml' 的文件,并将其传递给 libxml2 的解析函数:

#include <libxml/parser.h>
#include <libxml/tree.h>

int main() {
    xmlDocPtr doc;
    xmlNodePtr root;

    doc = xmlReadFile('example.xml', NULL, 0);
    root = xmlDocGetRootElement(doc);

    // Do something with the XML document...

    xmlFreeDoc(doc);
    xmlCleanupParser();
    return 0;
}

在这个例子中,xmlReadFile 函数打开了一个名为 'example.xml' 的文件,并将其读入内存中的一个 xmlDocPtr 结构体中。然后,xmlDocGetRootElement 函数返回文档的根节点,它可以被遍历和操作。

要保留原始文档的美化格式,可以使用 xmlSaveFormatFile 函数来保存 XML 文档。这个函数将在保存文档时自动添加缩进和换行符。例如,以下代码将保存一个 XML 文档,并保留原始的美化格式:

xmlSaveFormatFile('output.xml', doc, 1);

在这个例子中,xmlSaveFormatFile 函数将文档保存到名为 'output.xml' 的文件,并将第三个参数设置为 1,以保留原始的美化格式。

总的来说,libxml2 是一个功能强大的 C 库,它可以用于解析和操作 XML 文档,并且可以保留原始文档的美化格式。

libxml2 C库:解析XML文件并保留格式

原文地址: https://www.cveoy.top/t/topic/n3lV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录