【发布时间】:2011-06-21 12:46:51
【问题描述】:
我有一个字典/列表 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];
}
}
但由于某种原因,nodeChildArray 的第二部分被删除了......即节点内容 = 1501042000; 节点名 = 金额;
我不确定如何访问该部分。
请帮忙。
}
}
实际上,这是我在交替运行期间得到的;
nodeChildArray的打印说明: {type = 可变字典,count = 2, 条目 => 0 : {contents = "nodeName"} = {contents = "Signature"} 1:{contents = "nodeContent"} = {contents = "-1507"} }
nodeChildArray的打印说明: {type = 可变字典,count = 2, 条目 => 0 : {contents = "nodeName"} = {contents = "Amount"} 1:{内容=“节点内容”}={内容=“631000”} }
如何获得匹配签名值的金额值?
【问题讨论】:
标签: iphone objective-c parsing nsxmlparser libxml2