2014-02-01 5 views
1

Я работаю над приложением iOS и хочу получить пространство имен nsxmlement.Получить значение для xmlns из NSXMLElement iOS sdk

my NSXMLElement * query имеет в себе следующее значение.

<query xmlns="jabber:iq:roster" test="this is value"> 
<item subscription="to" name="test" jid="[email protected]"/> 
</query> 

Я использовал следующий код, чтобы получить Xmlns, но ее не работает

  NSLog(@"%@",[query attributeStringValueForName:@"test"]); 
     NSLog(@"%@",[query attributeStringValueForName:@"xmlns"]); 

Значение для тест печатается, но значение для Xmlns показывает нулевой

Пожалуйста, дайте мне знать, как получить значение xmlns

ответ

2

Это потому, что xmlns не является атрибутом. xmlns - это определение пространства имен. Вы можете получить его с помощью [query namespaceForPrefix:nil].stringValue.

+0

Спасибо за ответ miho – Satish

+0

Что-то еще, когда вы используете XMPPFramework (я думаю), посмотрите файл заголовка 'NSXMLElement + XMPP.h'. Он добавляет свойства, такие как 'xmlns' и другие очень полезные помощники при работе с XML-запросами и строфами. Делает код намного легче читать, а затем напрямую работает с NSXMLElement. – miho

+0

Если вы не используете библиотеку-оболочку, вышеуказанный код должен всегда возвращать нуль, потому что nil не является допустимым значением префикса при использовании NSXML API. Вместо этого вы должны передать пустую строку. – dgatwood

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

  • Нет связанных вопросов^_^