2012-06-07 69 views
1

命名空間前綴我有一個XML結構,看起來像:的NSXMLParser獲得屬性

<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:委託方法,雖然我已經設置setShouldProcessNamespacesYES,他們不會被調用。

我是新來的NSXMLParser,但不是iOS或XML。任何方向我應該如何去這個將不勝感激。

回答

3

除了執行委託方法和調用setShouldProcessNamespaces:YESsetShouldReportNamespacePrefixes:YES也應該被調用。

此更改將導致調用「前綴」協議方法。在那裏你可以捕獲命名空間的URI和前綴,並根據需要使用它們。