Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone TTXMLParser示例代码?_Iphone_Objective C_Sdk_Three20 - Fatal编程技术网

Iphone TTXMLParser示例代码?

Iphone TTXMLParser示例代码?,iphone,objective-c,sdk,three20,Iphone,Objective C,Sdk,Three20,有人熟悉如何使用TTXMLParser吗。我在上面找不到任何文档或示例代码 是SAX还是DOM 它支持Xpath吗 我可以从元素中提取CDATA吗 我有一个应用程序已经使用了几个Three20模块,如果不得不使用另一个解析器,那将是一个遗憾 我找到的关于TTXMLParser的主要文档位于。这里的注释概述了TTXMLParser的功能 TTXMLParser不应该像您所想的那样被认为是一个XML解析器——从这个意义上讲,诸如“它是SAX还是DOM”和“它是否支持XPath”之类的问题并不直接适用

有人熟悉如何使用TTXMLParser吗。我在上面找不到任何文档或示例代码

是SAX还是DOM

它支持Xpath吗

我可以从元素中提取CDATA吗


我有一个应用程序已经使用了几个Three20模块,如果不得不使用另一个解析器,那将是一个遗憾

我找到的关于TTXMLParser的主要文档位于。这里的注释概述了TTXMLParser的功能

TTXMLParser不应该像您所想的那样被认为是一个XML解析器——从这个意义上讲,诸如“它是SAX还是DOM”和“它是否支持XPath”之类的问题并不直接适用。相反,可以将TTXMLParser视为一个方便的类,以获取XML并将其转换为Objective-C对象树。例如,此XML节点:

<myNode attr1="value1" attr2="value2" />

将变成Objective-C
NSDictionary
节点,该节点将键“attr1”映射到值“value1”,将键“attr2”映射到键“value2”

TTXMLParser在内部使用NSXMLParser(基本上是SAX)来构建它的树,但是作为TTXMLParser的用户,您不必做任何类似SAX的事情

因此,不,您不会得到一个可以执行XPath查询的XML文档。相反,您将得到一个Objective-C对象树。如果那是你想要的,太好了;如果您想要一个带有XPath的传统XML解析器,我目前正在开发一个同时使用Three20和
TouchXML
的项目
TouchXML
支持XPath

我同意很难找到TTXMLParser的示例代码。Three20的
TTTwitter
示例过去使用
TTXMLParser
(实际上,
tturlxmresponse
,它反过来使用TTURLParser),但在某个时候它被改为使用
TTURLJSONResponse
,这是一个遗憾,因为这是他们唯一的XML示例

您仍然可以看到旧的基于XML的示例代码。具体地说,请查看文件底部附近的
-[requestDidFinishLoad://code>函数,例如,一些代码采用
TTURLXMLResponse
,查询其
rootObject
成员,然后沿着生成的对象树向下走