2012-06-07 5 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:, и хотя я поставил setShouldProcessNamespaces к YES, они не дозвонились.

Я новичок в NSXMLParser, но не в iOS и XML. Любое направление в отношении того, как я должен идти по этому поводу, будет весьма признателен.

ответ

3

В дополнение к реализации методов делегата и вызовам setShouldProcessNamespaces:YES, также следует называть setShouldReportNamespacePrefixes:YES.

Это изменение приведет к вызову методов протокола «префикс». Там вы можете захватить URI пространства имен и префикс и использовать их по мере необходимости.

Смежные вопросы