У меня есть словарь / список balance_sign_dict, из которого мне нужно получить 2 значения в зависимости от условия.
Исходный XML для этого:
<Value>
<Signature>-873</Signature>
<Amount>1501042000</Amount>
</Value>
Я хочу проанализировать данные из указания, показанного ниже;
Подскажите, пожалуйста, как мне разобрать условные данные (например, если я хочу, чтобы значение узла "Сумма" для узла "Подпись" имело -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];
}
}
Но по какой-то причине 2-я часть nodeChildArray удаляется ... т.е. nodeContent = 1501042000;
имя_узла = сумма;
Я не уверен, как получить доступ к этой части.
Пожалуйста, помогите.
}
}
На самом деле вот что я получаю во время альтернативных пробежек;
Распечатка описания nodeChildArray:
{type = изменяемый dict, count = 2,
записи =>
0: {contents = "nodeName"} = {contents = "Подпись"}
1: {contents = "nodeContent"} = {contents = "-1507"}
}
Распечатка описания nodeChildArray:
{type = изменяемый dict, count = 2,
записи =>
0: {contents = "nodeName"} = {contents = "Amount"}
1: {contents = "nodeContent"} = {contents = "631000"}
}
Как получить значение Amount для соответствующего значения Signature?