iPhone App Objective C 中的 SimpleXML 解析方式

2024-03-03

我一直想知道是否有一种方法可以像在 PHP 中解析 SimpleXML 一样轻松地在 Objective C 中解析 XML。

我所知道的唯一现有方法如下:

  1. 使用 NSXMLParser 并创建委托来处理遇到 XML 元素、值等时触发的事件...

  2. 使用基于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(使用前将#替换为@)

iPhone App Objective C 中的 SimpleXML 解析方式 的相关文章

随机推荐

  • 从每个助手调用的组件中的产量

    这是我的组件模板的一部分 each displayResults li class if controller template yield else span class displayHelper controller searchPa
  • 为什么启动 2 个以上 AVD 仅在特定条件下有效

    我遇到了我不完全理解的奇怪问题 我尝试从终端启动 2 个以上 AVD 它甚至适用于 4 个 AVD 但仅在特殊条件下有效 我有一个用于 3 个 AVD 的代码 echo no ANDROID HOME tools android creat
  • 开发 ARM 处理器需要什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我熟悉 X86 64 架构和汇编 我想开始开发 ARM 处理器 但与桌面处理器不同的是 我没有真正的
  • 在 Debian Squeeze 上安装 mysql2 gem 时出错

    我在 Debian Squeeze 上安装 mysql2 gem 时遇到了这个 流行 错误 gem install mysql2 Building native extensions This could take a while ERRO
  • VB中如何获取当前可执行文件的完整路径?

    我使用 VB 创建了一个 Windows 应用程序 每当我执行exe 我想获取当前目录exe以编程方式归档 例如 现在 我正在执行exe文件输入d myApp test exe 每当我双击exe我想获取文件的路径exe文件如d myApp
  • 如何从 NSView 或 NSWindow 创建 AXUIElementRef?

    关于 macOS Accessibility API 是否可以创建对应于 NSView 或 NSWindow 的 AXUIElementRef 在 Carbon 时代 似乎有一种方法可以使用 AXUIElementCreateWithHIO
  • 所有虚函数都需要在派生类中实现吗?

    这似乎是一个简单的问题 但我在其他地方找不到答案 假设我有以下内容 class Abstract public virtual void foo 0 virtual void bar class Derived Abstract publi
  • 加载位图图像后,Jetpack compose (Glance) 小部件不会重新组合

    我正在尝试使用具有 SVG 图像支持的 Glance Jetpack 创建一个 Appwidget 我可以使用下载位图 ImageRequest Builder this data url decoderFactory SvgDecoder
  • 如何在django中的同一页面上拆分帖子视图

    我不知道这个问题是否有意义 但我对此感到很困惑 我有一个帖子列表视图 它正在此处呈现一些帖子 My question is how can I split the sections of the page something like th
  • 使用字母数字模式将 URL 编码为 QR 码?

    我需要为我的网址构建一个尽可能小的二维码 它足够短以使用缩短器 并且我不想依赖它们的可靠性 HTTP SUBDOM DOMAIN EU 8位字节模式太浪费地方了 我在那里可以到达版本2 但是版本1在字母数字模式 有没有办法将字母数字模式设置
  • 将现有 MATLAB 绘图绘制到另一个图形中

    我使用绘图命令绘制图形 然后使用设置命令更改其许多属性 我还存储了绘图的句柄 例如 h1 我需要的是稍后在我的代码中使用句柄再次绘制相同的图形 我检查了plot命令 没有找到任何接受句柄的版本 我还考虑获取 Xdata 和 Ydata 并使
  • 使用对话框完成 AJAX 调用后如何重新加载页面?

    因此 一旦用户单击打开的链接 我就会有一个带有表单的对话框用户界面 一旦他们单击 添加按钮 它就会创建一个 AJAX 调用 将数据提交到数据库中 我需要添加的是 reload 函数来刷新页面 如何添加重新加载功能 我尝试添加 windows
  • 当光标位于子组件上时,JPanel 不生成 MouseEvents

    这对我来说有点奇怪 但是当光标位于 JTextField 和 JToolBar 子组件上时 JPanel 不会生成 MouseEvents 但当光标位于 JLabel 上时 它会生成 MouseEvents 有人可以解释我为什么吗 有没有办
  • 如何将字符串从原生 iOS 插件返回到 unity?

    我正在创建一个 iOS 插件 它需要向 Unity 返回一个字符串 或 const char 我该如何实施 我想澄清一下之前的答案 C 声明 DllImport Internal private static extern string g
  • Grails 自动编译不在开发环境中

    我在一个名为 本地 的环境中运行 Grails 2 1 因为 开发 是为临时系统保留的 但我希望必须像在开发模式下一样自动编译 即如果我要更改控制器 则更改将被一次编译而无需重新运行 run app 参数 grails gsp enable
  • cordova 运行时出现 ios 错误..命令的错误代码 65:带有参数的 xcodebuild:

    This 仅发生错误当我尝试cordova run ios device 即使cordova build ios执行命令 没有报错 我做错了什么 以及如何在我的 iPhone 上调试 cordova 项目 需要这个 因为需要测试相机功能 W
  • pymysql,查询期间失去与MySQL服务器的连接

    查询期间与 MySQL 服务器的连接丢失 如何解决此问题 最好在我的程序中解决这个问题 import pymysql connection pymysql connect host user password db charset utf8
  • 获取 C++0x 随机数生成器状态的标准方法是什么?

    我正在尝试学习随机数生成器的新 C 0x 方法 26 5 并在符合 C 0x 的随机数引擎 26 5 1 4 上实现 该标准详细介绍了种子序列所需的接口 以及如何将它们传递给构造函数或seed发动机的功能 但是 我找不到任何标准接口来从引擎
  • 数据库复制还是镜像?

    SQL Server 2005 中的复制和镜像有什么区别 简而言之 镜像允许您让第二台服务器成为主服务器的 热 备用副本 随时准备在主服务器发生故障时接管 因此镜像提供了故障转移和可靠性 另一方面 复制允许两个或多个服务器保持 同步 这意味
  • iPhone App Objective C 中的 SimpleXML 解析方式

    我一直想知道是否有一种方法可以像在 PHP 中解析 SimpleXML 一样轻松地在 Objective C 中解析 XML 我所知道的唯一现有方法如下 使用 NSXMLParser 并创建委托来处理遇到 XML 元素 值等时触发的事件 使