我一直想知道是否有一种方法可以像在 PHP 中解析 SimpleXML 一样轻松地在 Objective C 中解析 XML。
我所知道的唯一现有方法如下:
使用 NSXMLParser 并创建委托来处理遇到 XML 元素、值等时触发的事件...
使用基于libxml2的框架,例如TouchXML,利用XPath轻松查询XML文件中的节点。
我不确定是否还有其他方法可以在 iPhone 的 Objective C 中解析 XML。
先谢谢您的帮助! :)
干杯!
奥努
更新:SimpleXML 示例
如果不熟悉 SimpleXML,它可以像这样简单:
$xml = simplexml_load_string($xmlfilecontents);
echo $xml->user->name; //for this example code, im not traversing through all the user elements
假设 xmlfilecontents 是一个字符串类型的 xml 文件内容,包含 users elements() 和 child :
<users>
<user><name>john</name></user>
<user><name>jane</name></user>
</users>
它只是加载 xml 并自动实例化一个捕获 xml 文件中所有数据的对象。访问数据是一个简单的调用,例如 $xml->element->attr
如果你想使用libxml2
有了 Objective-C 前端,看看这套有用的包装函数 http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html.
您向 XML 文档对象发出 XPath 查询并返回 Foundation 类对象:NSArray
, NSString
, and NSDictionary
, e.g.:
NSArray *queriedBuckets = PerformXMLXPathQuery(responseData, @"//*[local-name()='Buckets']/*[local-name()='Bucket']");
这些功能有助于统一速度libxml2
具有 Objective-C 代码的可读性和可用性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)