从嵌套的 NSDictionary 中获取值

发布于 2024-10-21 03:26:41 字数 1700 浏览 5 评论 0原文

在尝试了 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;
    },

我试图获取 /~/media/Images/Image 2.ashx... 的 nodeContent 的输出...

有什么想法我的迭代应该是什么样子吗?

After trying 100 attempts at this im resorting to SO.

I have this output in dictionary from an html parser using libxml2

 {
        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;
    },

I am trying to get the of nodeContent that is /~/media/Images/Image 2.ashx...

Any ideas how should my iteration look like?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福%小乖 2024-10-28 03:26:41

您的访问代码应该看起来像

[[[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"];
}
}

your code for access should look like

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

i am using 0 you can get it with from a loop runs upto count of array.

make sure your array having objects or make a proper if else structure and break this into separate statements. then it should look like

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"];
}
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文