gpt4 book ai didi

iphone - 如何将所有字典存储在数组中

转载 作者:行者123 更新时间:2023-12-03 19:51:54 25 4
gpt4 key购买 nike

我有一个 xml 文件,其中包含国家/地区和代码。我已将 xml 放入 Demo.xml 中。我的问题是仅保存了第一个字典。或者任何人都可以告诉我其他解析它的方法,例如使用 nsxml 或 gdata

NSString *filePath=[[NSBundle mainBundle] pathForResource:@"Demo" ofType:@"xml"];
NSData *data=[NSData dataWithContentsOfFile:filePath];
addArray=[[NSMutableArray alloc]init];
dictData=[[NSMutableDictionary alloc]init];


TBXML *tbxml = [TBXML tbxmlWithXMLData: data];
TBXMLElement *rootXMLElement=tbxml.rootXMLElement;

TBXMLElement *rootElemnt=[TBXML childElementNamed:@"root" parentElement:rootXMLElement];
while (rootElemnt!=nil) {

TBXMLElement *item = [TBXML childElementNamed:@"item" parentElement:rootElemnt];

if (item!=nil) {
TBXMLElement *country = [TBXML childElementNamed:@"country" parentElement:item];
TBXMLElement *code = [TBXML childElementNamed:@"code" parentElement:item];

dictData=[NSMutableDictionary dictionaryWithObjectsAndKeys:[TBXML textForElement:country],@"country",[TBXML textForElement:code],@"code",nil];
rootElemnt = [TBXML nextSiblingNamed:@"item" searchFromElement:rootElemnt];

[addArray addObject:dictData];
}
}
NSLog(@"====%@",addArray);

输出是:

====(
{
code = 355;
country = Albania;
}
)

这里是xml https://www.dropbox.com/s/x4zpxgi42h0rllz/Demo.xml 的链接

最佳答案

未经测试,但

NSString *filePath=[[NSBundle mainBundle] pathForResource:@"Demo" ofType:@"xml"];
NSData *data=[NSData dataWithContentsOfFile:filePath];
addArray=[[NSMutableArray alloc]init];
dictData=[[NSMutableDictionary alloc]init];


TBXML *tbxml = [TBXML tbxmlWithXMLData: data];
TBXMLElement *rootXMLElement=tbxml.rootXMLElement;

TBXMLElement *rootElemnt=[TBXML childElementNamed:@"root" parentElement:rootXMLElement];
if (rootElemnt) {
TBXMLElement *item = [TBXML childElementNamed:@"item" parentElement:rootElemnt];

while (item) {

TBXMLElement *country = [TBXML childElementNamed:@"country" parentElement:item];
TBXMLElement *code = [TBXML childElementNamed:@"code" parentElement:item];

dictData=[NSMutableDictionary dictionaryWithObjectsAndKeys:[TBXML textForElement:country],@"country",[TBXML textForElement:code],@"code",nil];

[addArray addObject:dictData];
item = [TBXML nextSiblingNamed:@"item" searchFromElement:item];
}
}
NSLog(@"====%@",addArray);

应该可以

关于iphone - 如何将所有字典存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18513092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com