iOS平台XML解析类库对比和安装说明 精选 转载 iSanny 2013-04-20 13:09:38 博主文章分类:IOS开发(转载) 文章标签 xml iOS 类库对比 文章分类 iOS 移动开发 在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢?解析 XML 通常有两种方式,DOM 和 SAX:DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。SAX解析XML,是基于事件通知的模式,一边读取XML文档一边处理,不必等整个文档加载完之后才采取操作,当在读取解析过程中遇到需要处理的对象,会发出通知对其进行处理。一般在iOS平台下,比较常用的XML解析类库有如下几种:NSXMLParser,http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html,这是一个SAX方式解析XML的类库,默认包含在iOS SDK中,使用也比较简单。libxml2,http://xmlsoft.org/,是一套默认包含在iOS SDK中的开源类库,它是基于C语言的API,所以使用起来可能不如NSXML方便。这套类库同时支持DOM和SAX解析,libxml2的SAX解析方式还是非常酷的,因为它可以边读取边解析,尤其是在从网上下载一个很大的XML文件,就可以一边下载一边对已经下载好的内容进行解析,极大的提高解析效率。TBXML,http://www.tbxml.co.uk/TBXML/TBXML_Free.html,这是一套轻量级的DOM方式的XML解析类库,有很好的性能和低内存占用,不过它不对XML格式进行校验,不支持XPath,并且只支持解析,不支持对XML进行修改。TouchXML,https://github.com/TouchCode/TouchXML,这也是一套DOM方式的XML解析类库,支持XPath,不支持XML的修改。KissXML,http://code.google.com/p/kissxml/,这是一套基于TouchXML的XML解析类库,和TouchXML相比,支持了XML的修改。TinyXML,http://www.grinninglizard.com/tinyxml/,这是一套小巧的基于C语言的DOM方式进行XML解析的类库,支持对XML的读取和修改,不直接支持XPath,需要借助另一个相关的类库TinyXPath才可以支持XPath。GDataXML,http://code.google.com/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/,这是一套Google开发的DOM方式XML解析类库,支持读取和修改XML文档,支持XPath方式查询。那么对于如何在项目中选择合适的XML解析类库呢?网上已经有人对这几款XML类库做过分析和对比,可参考《How To Choose The Best XML Parser for Your iPhone Project》http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project 一文,基本比较准确和客观,文中建议:如果是读取很小的XML文档,性能基本上没有什么差别,不过从调用的方便性来说,建议使用TouchXML、KissXML或GDataXML如果是需要读取和修改XML文档,建议使用KissXML或GDataXML如果需要读取非常大的XML文档,则建议使用libxml2或TBXML如果你不想去调用第三方类库,那么使用NSXML也可以安装说明GDataXML1. 从http://code.google.com/p/gdata-objectivec-client/downloads/list下载“gdata-objective-c client library.”2. 解压缩文件,找到Source\XMLSupport,并且将其中的GDataXMLNode.h 和 GDataXMLNode.m文件拖到项目中3. 选中项目,选中“Build Settings”标签页4. 将Build Settings页中,顶部的“Basic”标签切换到“All”5. 找到“Paths\Header Search Paths”项,并添加“/usr/include/libxml2”到列表中6. 找到“Linking\Other Linker Flags”项,并添加“-lxml2”到列表中在需要调用GDataXML的代码文件头部,加入:#import “GDataXMLNode.h”TouchXML1. 从https://github.com/TouchCode/TouchXML下载最新TouchXML源码2. 解压后,将其中的Sources目录下的文件和目录都拖到项目中3. 选中项目,选中“Build Settings”标签页4. 将Build Settings页中,顶部的“Basic”标签切换到“All”5. 找到“Paths\Header Search Paths”项,并添加“/usr/include/libxml2”到列表中6. 找到“Linking\Other Linker Flags”项,并添加“-lxml2”到列表中在需要调用TouchXML的代码文件头部,加入:#import “TouchXML.h”TBXML1. 从http://www.tbxml.co.uk/TBXML/TBXML_Free.html下载最新TBXML源码2. 解压后,将其中的TBXML.h, TBXML.m, NSDataAdditions.h和NSDataAddtions.m四个文件拖到项目中3. 添加对libz.dylib类库的应用在需要调用TBXML的代码文件头部,加入:#import “TBXML.h”使用说明GDataXML读取XML文件,并解析成为DOM文档对象示例:NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"xml"];NSData *xmlData = [[NSMutableData alloc] initWithContentsOfFile:filePath];NSError *error;GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData options:0 error:&error];if (doc == nil) { return nil; }NSLog(@"%@", doc.rootElement);[doc release];[xmlData release];文章出处:http://www.cnblogs.com/dotey/archive/2011/05/11/2042000.html 赞 收藏 评论 分享 举报 上一篇:XML解析之KissXML的使用 下一篇:ASIHTTPRequest类库简介和使用说明 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 whisper安装说明 whisper模型安装说明 cmd命令 安装文档 whisper Javaweb之数据库连接池以及lombok类库的详细解析 3. 数据库连接池在前面我们所讲解的mybatis中,使用了数据库连接池技术,避免频繁的创建连接、销毁连接而带来的资源浪费。下面我们就具体的了解下数据库连接池。3.1 介绍编辑没有使用数据库连接池:客户端执行SQL语句:要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行后又需要关闭连接对象从而释放资源,每次执行SQL时都需要创建连接、销毁链接,这种频繁的重复创建销毁的过程是比 数据库连接池 spring SQL 跨Android、iOS、鸿蒙多平台框架ArkUI-X ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升移动应用界面开发效率30%。您只需使用一套ArkTS API,就能在Android、iOS、鸿蒙多个平台上提供生动而流畅的用户界面体验。一、配套关系表1 版本软件和平台配套关系目标平台项目编译使用OS SDK版本备注OpenHarmony4.0 (API Version Android iOS Windows iOS-数据解析XML解析的多种平台介绍 在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢?解析 XML 通常有两种方式,DOM 和 SAX:... iOS-数据解析XML解析的多种平台介绍 Java 主流开源类库解析 XML 在大型项目编码推进中,涉及到 XML 解析问题时,大多数程序员都不太会选用底层的解析方式直接编码。 主要存在编码复杂性、难扩展、难复用....,但如果你是 super 程序员或是一个人的项目,也不妨一试。 Jdom/Dom4j/Xstream... 基于底层解析方式重新组织封装的开源类库,简洁明了的 API,稳定高效的运行表现。 &nbs Java Java iOS xml解析 # iOS XML解析教程## 一、流程图示```mermaidflowchart TD A(开始) --> B(准备XML数据) B --> C(创建XML解析器) C --> D(解析XML数据) D --> E(处理解析结果) E --> F(结束)```## 二、整件事情的流程(步骤)| 步骤 | 描述 || --- | --- XML 数据 解析器 iOS解析xml # iOS 解析XML的基本方法在开发iOS应用程序时,处理数据是一项常见的任务。其中,XML(可扩展标记语言)是一种广泛使用的数据格式,因为它既能存储结构化数据,又能传输数据。本文将介绍如何在iOS中解析XML,包括一些代码示例,并以清晰的流程图和甘特图来说明。## 为什么选择XML?XML格式相对来说更加灵活,可以表示多种数据结构。它不仅被广泛应用于Web服务中,也被许多数据库和文 XML 数据 iOS python类库31[DOM+SAX解析XML和HTML] python类库31[DOM+SAX解析XML和HTML]分类: Python2013-03-24 19:37 51人阅读 评论(0) 收藏 举报 Standard Generalized Markup Language (SGML)即标准通用标记语言Hypertext Markup Language (HTML)超文本标识语言Extensible Mark soap python dom xml html Xml解析和工具类的使用 前言博主github博主个人博客http://blog.healerjean.com1 、解释1.1、@JacksonXml Utils xml 标签名 下划线 java xml解析 spring java xml解析工具类 对比 Java中四种操作xml方式的比较 【选择自 best2010 的 Blog 】 1. 介绍1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构 java xml解析 spring xml java 文档 import java xml解析response java xml解析工具类 对比 目前常用的XML的解析器主要有:SAX,DOM,Xerces1、SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX 还比它的替代者 DOM 快许多。另一方面,由于应用 java xml解析response xml java 文档 api ios xml解析库 xml解析器 DOM是基于平台、语言无关的官方W3C标准。基于树的层次,其优点是可以移植,编程容易,开发人员只需要调用建树的指令。其缺点是加载大文件不理想。 SAX是基于事件模型的,它在解析 XML 文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。类似与流媒体的解析方式,所以在加载大文件时效果不错。 JDOM是想成为 Java 特定文档模型 ios xml解析库 xml collections 文档 java xml java 解析工具类 java xml解析库 dom4j是一个简单的开源库 , 用于处理XML , XPath和XSLT , 它基于Java平台 , 使用Java的集合框架 , 全面集成了DOM , SAX和JAXP , 今天主要说说dom4j解析xml文件.首先创建一个xml文件:取名为School.xml<?xml version="1.0" encoding="utf-8"?><School value="老师 xml java 解析工具类 java xml dom4j System java maven xml解析工具类 java xml解析库 1.JDBC概述 A. 什么是JDBC? Java DataBase Connectivity:是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成。通过这些类和接口,JDBC把SQL语句发送给不同类型的数据库进行处理并接收处理结果  java maven xml解析工具类 XML Java 结果集 android xml解析和json解析 android解析xml的类 android一共提供了三种XMl解析的方式,分别为:SAX解析,Pull解析,DOM解析。第一种:SAX解析:xml解析,对文档进行顺序扫描,当扫描到document开始,元素的开始与结束,文档结束等地方通知相关处理事件处理函数,处理完函数之后继续进行扫描直到文档结束 实现步骤:通过SAXParserFactory得到一个SAXParser解析器,将文件流和处理类传递给SAXPars androidxml解析 i++ ide 解析器 ios xml解析 三方库 xml解析源码 xml的解析方法及源代码第一种:SAX解析 SAX处理机制:SAX是一种基于事件驱动的API。利用SAX解析XML文档,牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发生事件,如元素开始和元素结束事件;而事件处理器则负责对事件做出响应,对传递的XML数据进行处理。测试用的xml文件:db.xml Xml代码 <?xml version="1 ios xml解析 三方库 XML Oracle JDBC Apache [iOS] XML解析 1. 相关的类主导解析的类:@interfaceNSXMLParser: NSObject {}- (id)initWithContentsOfURL:(NSURL *)url; // initializes the parser with the specified URL.- (id)initWithData:(NSData *)data; // create the parser from data- (id)initWithStream:(NSInputStream *)stream NS_AVAILABLE(10_7, 5_0); //create a parser that inc xml edn ide sed css Android JSON和XML分析类 json解析xml json和xml都是用来进行数据的传输和交换的,是目前用来传输数据用的最多的两种技术,下面我们分别来认识一下它们及其解析过程 一、json1、json简介JSON是一种基于文本的轻量级数据交换格式,源自JavaScript,用于Web服务和其他连接的应用程序,易于人阅读和编写, 同时也易于机器解析和生成JSON是存储和交换文本信息的语法,类似XMLJSON采用完全独立于语言的文本格式,但 Android JSON和XML分析类 JSON ide 数据 iOS开发xml解析 xml解析报错 在解析xml时,经常因为文件中含特殊字符而解析失败。原因有两个:一是内容中含有XML预定义好的实体,二是内容中含有低位非打印字符。 1.内容中含有xml预定好的实体,如“<”和“&”,对xml来说是禁止使用的,针对这种字符,解决方式是使用CDATA部件以"<![CDATA[" 标记 iOS开发xml解析 xml cdata 无效字符 转义 ios 解析xml iphone解析 相关概念// 竖屏时,返回的是不带有状态栏的Rect.横屏时,返回整个屏幕Rect[UIScreen mainScreen].applicationFrame);//The natural scale factor associated with the screen(自然比例因子)[UIScreen mainScreen].scale);//The native scale fact ios 解析xml iphone 分辨率 屏幕尺寸 像素点