libxml2提供了在linux环境下解析xml格式的文件的C接口,可以方便的提取对应标签中的内容。
libxml将解析后的xml文件内容采用树型方式存储,从根级开始,不断调用子级指针获取第二级、第三级标签的内容。
libxml支持直接打开xml文件(xmlReadFile)或者对内存(xmlParseMemory)中的xml格式数据,进行接口,解析后返回都是一个文件句柄,通过此文件句柄获取根级节点指针。注意解析后的树型结构保存的都是指针,指向对应文件或内存中的标签的位置。
每个节点中保存了该级节点的标签和内存的位置,调用相关的接口可直接获取标签中的内容。返回值是char型数据,如果需要整型数据,可用 atoi 进行转换。
同时,节点中以链表方式保存同级标签的内容。提取内容时,遍历链表各节点即可。