如何在iOS中使用libxml

原创 2012年10月18日 22:27:16

本篇文章简单介绍如何在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


void CBLibXMLUtility::saveWithLibXML(map<string,string>& data,const string& fileName)
{
    // create xml document
    xmlDocPtr doc = xmlNewDoc(BAD_CAST"1.0");
    xmlNodePtr root = xmlNewNode(NULL,BAD_CAST"CloudBoxRoot");

    //set root
    xmlDocSetRootElement(doc,root);

    for(map<string,string>::iterator iter = data.begin(); iter != data.end(); iter++)
    {
        cout<<"key:"<<iter->first<<"   value:"<<iter->second<<endl;
        xmlNewTextChild(root, NULL, BAD_CAST (*iter).first.c_str(), BAD_CAST (*iter).second.c_str());
    }

    //save xml

    int nRel = xmlSaveFile(fileName.c_str(),doc);

    if (nRel != -1)
    {
        cout<<"create a xml:"<<nRel<<"bytes"<<endl;
        //DebugLog("Create a xml %d bytes\n",nRel);
    }

    //release

    xmlFreeDoc(doc);
}

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

其他关于libxml的使用请参照我之前的文章"libxml教程"

范例代码下载


MAC libXmL2安装指南

Libxml2 是一个 用c语言编写的XML 解析器和工具包,最初是为Gnome项目开发的, 后来被其他的项目广泛使用,它是一个基于MIT License的免费开源软件。 从Libxml的官方网...
  • forceofwind
  • forceofwind
  • 2014年12月15日 13:36
  • 2635

MAC OSX下用pip安装lxml时遇到xmlversion.h not found的解决办法

今天在Mac下用pip
  • wave_1102
  • wave_1102
  • 2014年07月12日 23:45
  • 6230

iOS_导入libxml2.2框架后,找不到<libxml/tree.h>的解决办法

http://blog.csdn.net/pre_eminent/article/details/38761551?utm_source=tuicool&utm_medium=referral ...
  • kangli_1990
  • kangli_1990
  • 2016年01月26日 17:33
  • 1650

IOS中XML解析之libxml2

转自:http://ytwhw.iteye.com/blog/1750920 如有侵犯,请来信oiken@qq.com IOS SDK自带的XML解析库 libxml2使用方法如下: ...
  • oiken
  • oiken
  • 2016年07月30日 10:46
  • 714

xcode中找不到 libxml2.dylib的解决办法

工程中需要用到XML解析,所以需要添加对libxml2.dylib文件的加载引用。可是当我像往常一样添加Link Framework的时候里面并没有找到这个文件。 遇到这个情况的时候可以按照下...
  • fengjun10000
  • fengjun10000
  • 2017年02月10日 10:08
  • 1296

iOS: 用libxml2 and hpple来做html parser

本文是用hpple来做html parser 你还可以选择用objective-c html parser  https://github.com/zootreeves/Objective-C-...
  • totogogo
  • totogogo
  • 2012年03月19日 18:13
  • 7878

iOS-libxml/HTMLparser.h file not found 解决方法 (libxml.dylib错误处理)

导入了libxml2.dylib,但是却提示libxml/HTMLparser.h file not found, 那是因为你的开发环境默认的路径无法找到这个libxml2.dylib框架, 修改...
  • Axing1991
  • Axing1991
  • 2017年01月18日 14:50
  • 572

iOS_导入libxml2.2框架后,找不到<libxml/tree.h>的解决办法

由于用到了第三方Html解析类库Hpple, 在导入框架libxml2.2.dylib后, 最到了XCode仍然找不到的情况, 最后解决过程如下: 1 、项目 -Targets 中的 ...
  • m18510011124
  • m18510011124
  • 2015年03月09日 11:06
  • 1151

xcode版本升级为7.1后无法找到libxml2.dylib

今天开始介入苹果越狱sdk,说明文档中需要加入类库libxml2.dylib。 我用的xcode版本为7.1且ios sdk版本为9.1,发现在添加链接库时找不到某些类库。例如:libxml3....
  • stupidestfish
  • stupidestfish
  • 2015年11月25日 17:21
  • 1190

IOS开发报错-引入libxml2.dylib或libxml2.tbd报错

按照图示的位置,搜索header search paths: 双击header search paths,然后点击加号按钮,添加下面的新的一行:${SDK_ROOT}/usr/include/...
  • zhaolaoda2012
  • zhaolaoda2012
  • 2016年09月12日 14:26
  • 1001
收藏助手
不良信息举报
您举报文章:如何在iOS中使用libxml
举报原因:
原因补充:

(最多只允许输入30个字)