从嵌套的NSDictionary中获取价值

时间:2011-03-09 08:42:05

标签: iphone html-parsing nsdictionary

在尝试了100次尝试这个即时通过SO。

我在使用libxml2

的html解析器的字典中输出了这个输出
 {
        nodeChildArray =             (
                            {
                nodeAttributeArray =                     (
                                            {
                        attributeName = class;
                        nodeContent = imgContainer;
                    }
                );
                nodeChildArray =                     (
                                            {
                        nodeAttributeArray =                             (
                                                            {
                                attributeName = src;
                                nodeContent = "/~/media/Images/Image 2.ashx";
                            },
                                                            {
                                attributeName = alt;
                                nodeContent = "Image 2";
                            },
                                                            {
                                attributeName = width;
                                nodeContent = 60;
                            },
                                                            {
                                attributeName = height;
                                nodeContent = 112;
                            }
                        );
                        nodeName = img;
                    }
                );
                nodeName = div;
            }
        );
        nodeName = td;
    },

我正在尝试获取nodeContent,即/〜/ media / Images / Image 2.ashx ...

任何想法我的迭代应该如何?

1 个答案:

答案 0 :(得分:1)

您的访问代码应该是

[[[nodeChildArray objectAtIndex:0] objectAtIndex:0] valueForKey:@"nodeContent"];

我使用0你可以从一个循环运行到数组的数量。

确保您的数组具有对象或制作正确的if else结构并将其分解为单独的语句。那应该看起来像

if([nodeChildArray count] >0)
{
array1=[nodeChildArray objectAtIndex:0];  //an array object
if([array1 count]>0)
{
dictionary=[array1 objectAtIndex:0]; //a dictionary
//then you can find the value

id value=[dictionary valueForKey:@"nodeContent"];
}
}