У меня есть словарь/список balance_sign_dict, из которого мне нужно получить 2 значения в зависимости от условия. Исходный XML для этого;
<Value>
<Signature>-873</Signature>
<Amount>1501042000</Amount>
</Value>
Я хочу проанализировать данные из dict, показанного ниже; Не могли бы вы рассказать мне, как мне анализировать условные данные (например, если я хочу, чтобы значение узла «Сумма» для узла «Подпись» имело -873), то есть оно должно вернуть мне 1501042000
Мне нужен общий способ анализа значений из приведенного ниже словаря.
Распечатка описания balance_sign_dict:
(
{
nodeChildArray = (
{
nodeContent = "-873";
nodeName = Signature;
},
{
nodeContent = 1501042000;
nodeName = Amount;
}
);
nodeName = Value;
},
{
nodeChildArray = (
{
nodeContent = "-1228";
nodeName = Signature;
},
{
nodeContent = 428586000;
nodeName = Amount;
}
);
nodeName = Value;
},
{
nodeChildArray = (
{
nodeContent = "-1140";
nodeName = Signature;
},
{
nodeContent = 79370000;
nodeName = Amount;
}
);
nodeName = Value;
},
Вот что я пытаюсь сделать сейчас;
for (NSDictionary *valueNode in balance_sign_dict){
for (NSArray *nodeChildArray in [valueNode objectForKey:@"nodeChildArray"]){
NSString *tmpNodeName = [nodeChildArray objectAtIndex:1];
NSDictionary *tmpD = [valueNode objectAtIndex:1];
if ([tmpNodeName isEqualToString:@"Signature"]) {
tmpSignVal = [nodeChildArray objectAtIndex:0];
if ([tmpSignVal isEqualToString:@"-873"]) {
tmpSignAmt = [nodeChildArray objectAtIndex:1];
}
}
Но по какой-то причине вторая часть nodeChildArray удаляется... т.е. nodeContent = 1501042000; имя_узла = количество;
Я не уверен, как получить доступ к этой части.
Пожалуйста помоги. }
На самом деле вот что я получаю во время альтернативных запусков;
Вывод описания nodeChildArray: {type = mutable dict, count = 2, entry => 0 : {contents = "nodeName"} = {contents = "Signature"} 1 : {contents = "nodeContent"} = {contents = "- 1507"} }
Вывод описания nodeChildArray: {type = mutable dict, count = 2, entry => 0 : {contents = "nodeName"} = {contents = "Amount"} 1 : {contents = "nodeContent"} = {contents = "631000 "} }
Как получить значение суммы для соответствия значению подписи?