-1

我的 XML 字符串如下所示:

result = { 
         node = ( { id = { text = 27; }; 
         img = { text = "/upload/iblock/1a1/1a84f.png"; }; 
         name = { text = rtrttrrt; }; price = { text = 0; }; 
         type = { text = 0; }; }, { id = { text = 28; }; 
         img = { text = "e.png"; }; name = { text = gdd; }; 
         price = { text = 0; }; 
         type = { text = 0; }; }, 
        { id = { text = 30; }; 
        img = { text = "9.png"; }; 
        name = { text = gfdghfdh; }; 
        price = { text = 0; }; 
        type = { text = 0; }; }, 
        { id = { text = 29; };
        img = { text = "8.png"; }; 
       name = { text = d; }; 
       price = { text = 0; }; 
       type = { text = 0; }; 
     } ); }; }

我正在解析它并得到这样的 NSDictionary(称为 xmlDictionary):

result = `{ content = ( { text = "iPhone - shit"; }, { text = "iPad = cool"; } ); date = ( { text = "4 december"; }, { text = "16 december"; } ); title = ( { text = "News about iPhone"; }, { text = "News about iPad"; } ); type = ( { text = "News 1"; }, { text = "News 2"; } ); }; }

如何获取每个元素的属性,例如标题文本?我正在努力:

NSString *str =[[[[xmlDictionary objectForKey:@"result"] objectForKey:@"type"] objectForKey:@"title"] stringForKey:@"text"]; 

但它不起作用。我该怎么做?

4

1 回答 1

0

你可以得到

NSArray *titleArray =[[[xmlDictionary objectForKey:@"result"] objectForKey:@"title"] valueForKey:@"text"];
NSString *str = [titleArray objectAtIndex:(0 or 1)];

编辑:您的 json 结构顺序不正确。如下所示,

result={
    node=({
        id={
            text=27;
        };img={
            text="acc8e84f.png";
        };name={
            text=rtrttrrt;
        };price={
            text=0;
        };type={
            text=0;
        };
    }

所以检查你的回复,让我知道..

编辑 2:

这样做,

NSArray *nameArray = [[[[xmlDictionary objectForKey:@"result"] objectForKey:@"node"]  valueForKey:@"name"] valueForKey:@"text"]; 
于 2013-11-08T06:35:55.313 回答