我的XML结构如下:
<Succeeded p1:type="Edm.Boolean" xmlns:p1="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">false</Succeeded>
因为我需要能够获得p1:type="Edm.Boolean"
属性,并且命名空间前缀可能会有所不同,具体取决于我无法控制的几种力量。我需要弄清楚如何以编程方式从命名空间URI中获取前缀。
我已经实施了parser:didStartMappingPrefix:toURI:
和parser:didEndMappingPrefix:
委托方法,虽然我已将setShouldProcessNamespaces
设置为 YES ,但它们不会被调用。
我是NSXMLParser的新手,但不是iOS和XML。任何关于我应该怎么做的方向都将不胜感激。
答案 0 :(得分:3)
除了实现委托方法并调用setShouldProcessNamespaces:YES
之外,还应调用setShouldReportNamespacePrefixes:YES
。
此更改将导致调用两个“前缀”协议方法。在那里,您可以捕获名称空间URI和前缀,并根据需要使用它们。