У меня есть NSDictionary, который был преобразован из XML, который действительно смущает меня. Если бы вы могли взглянуть и сообщить мне лучший способ получения объектов для ключа class_id, я был бы очень признателен.
{
response= {
"@status" = ok;
rosters = {
"@page" = 1;
"@page_count" = 1;
"@records_per_page" = 50;
"@total_record_count" = 8;
roster = (
{
"@class_id" = 0001;
"@role" = 0;
"@user_id" = 12345;
class= {
"@active" = false;
"@name" = NAME;
}
}
{
"@class_id" = 0002;
"@role" = 0;
"@user_id" = 12345;
}
{
"@class_id" = 0003;
"@role" = 0;
"@user_id" = 12345;
}
);
}
}
}
Все, что я хочу сделать, это либо установить переменные для отдельных идентификаторов class_id, либо поместить все идентификаторы class_id в NSArray. Я читал документацию по Apple и перепробовал все методы, которые только мог придумать, но он либо вылетает с nsexception, либо не возвращает данных. Большое спасибо за вашу помощь.
Хорошо, давайте сделаем резервную копию на минуту. Похоже, что плагин XMLReader, который я использовал для преобразования этого в NSDictionary, делает это намного сложнее, чем нужно. Вот исходные данные XML.
<response status="ok">
<rosters page_count="1" page="1" records_per_page="50" total_record_count="7">
<roster class_id="0001" role="S" user_id="91563" roster_id="ID"/>
<roster class_id="0002" role="S" user_id="91563" roster_id="ID"/>
<roster class_id="0003" role="S" user_id="91563" roster_id="ID"/>
<roster class_id="0004" role="S" user_id="91563" roster_id="ID"/>
<roster class_id="0005" role="S" user_id="91563" roster_id="ID"/>
<roster class_id="0006" role="S" user_id="91563" roster_id="ID"/>
<roster class_id="0007" role="S" user_id="91563" roster_id="ID"/>
</rosters>
</response>
Может кто-нибудь предложить простой способ просто получить значения class_id? Является ли преобразование в NSDictionary разумным способом сделать это? Мне просто нужны данные в виде отдельных переменных или NSArray.