文章简单介绍如何在iOS中使用libxml

来源:互联网 发布:果敢 知乎 编辑:程序博客网 时间:2024/06/05 17:11

本篇文章简单介绍如何在iOS中使用libxml
Mac OS版本:10.8.2
XCode版本:4.5.1


1. 选择xcode工程设定

2. 选择target

3. 选择Summary

4. 拉到Linked Frameworks and Libraries的地方,按下+按键


输入libxml并选择libxml2,按下Add按键


如此便可在工程中看到libxml2.dylib


如同第一张图中,改选到Build Setting

往下拉找到Search Paths在里面找到Header Search Paths

开启编辑,并按下+然后输入${SDK_ROOT}/usr/include/libxml2

如此一来便可在xcode项目中使用libxml了

#include <libxml2/libxml/parser.h>

#include <libxml2/libxml/tree.h>

便可include libxml


[cpp] view plaincopyprint?
  1. void CBLibXMLUtility::saveWithLibXML(map<string,string>& data,const string& fileName)  
  2. {  
  3.     // create xml document  
  4.     xmlDocPtr doc = xmlNewDoc(BAD_CAST"1.0");  
  5.     xmlNodePtr root = xmlNewNode(NULL,BAD_CAST"CloudBoxRoot");  
  6.   
  7.     //set root  
  8.     xmlDocSetRootElement(doc,root);  
  9.   
  10.     for(map<string,string>::iterator iter = data.begin(); iter != data.end(); iter++)  
  11.     {  
  12.         cout<<"key:"<<iter->first<<"   value:"<<iter->second<<endl;  
  13.         xmlNewTextChild(root, NULL, BAD_CAST (*iter).first.c_str(), BAD_CAST (*iter).second.c_str());  
  14.     }  
  15.   
  16.     //save xml  
  17.   
  18.     int nRel = xmlSaveFile(fileName.c_str(),doc);  
  19.   
  20.     if (nRel != -1)  
  21.     {  
  22.         cout<<"create a xml:"<<nRel<<"bytes"<<endl;  
  23.         //DebugLog("Create a xml %d bytes\n",nRel);  
  24.     }  
  25.   
  26.     //release  
  27.   
  28.     xmlFreeDoc(doc);  
  29. }  

这段代码是一段简单的范例,将map数据结构中的数据保存到xml中。