我使用XMLReader轉換的xmlString NSDictionary中,它工作正常的一些XML的string.But它給空字典XML低於XML不解析到NSDictionary?
<?xml version=\"1.0\"?>
<THEME>
<OBJ>
<FORMBG>0x00E0E0E0</FORMBG>
<ALERTBG>0x00B4B4B4</ALERTBG>
<FORMFONT>0x0033001A</FORMFONT>
<FORMFONT2>0x00575757</FORMFONT2>
<FORMFONT3>0x003E3E37</FORMFONT3>
<ROWSELECTORLIST>0x0000CC33</ROWSELECTORLIST>
<ROWDIVIDER>0x00BBBBBB</ROWDIVIDER>
<SUBHEADER>0x00A8A8A8</SUBHEADER>
<SELECTORCOMPONENT>0x00C2C2C2</SELECTORCOMPONENT>
<FOOTER>0x00796767</FOOTER>
</OBJ>
</THEME>
我轉換的代碼顯示如下:
NSString *stringURL=[NSString stringWithFormat:@"http://202.58.232.138/mt/theme.aspx"];
NSURL *url=[NSURL URLWithString:stringURL];
NSMutableURLRequest *request=[[NSMutableURLRequest alloc] initWithURL:url];
NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *responseString=[[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"response string is %@",responseString);
NSDictionary *dictionary=[XMLReader dictionaryForXMLString:responseString error:nil];
URL被打印以下數據上的瀏覽器
0x00E0E0E00x00B4B4B40x0033001A0x005757570x003E3E370x0000CC330x00BBBBBB0x00A8A8A80x00C2C2C2
0x00796767
和印花xcode的日誌將顯示以下數據。
<?xml version=\"1.0\"?>
<THEME>
<OBJ>
<FORMBG>0x00E0E0E0</FORMBG>
<ALERTBG>0x00B4B4B4</ALERTBG>
<FORMFONT>0x0033001A</FORMFONT>
<FORMFONT2>0x00575757</FORMFONT2>
<FORMFONT3>0x003E3E37</FORMFONT3>
<ROWSELECTORLIST>0x0000CC33</ROWSELECTORLIST>
<ROWDIVIDER>0x00BBBBBB</ROWDIVIDER>
<SUBHEADER>0x00A8A8A8</SUBHEADER>
<SELECTORCOMPONENT>0x00C2C2C2</SELECTORCOMPONENT>
<FOOTER>0x00796767</FOOTER>
</OBJ>
</THEME>
我認爲這就是爲什麼它不轉換爲NSDictionary。 請幫忙如果你以前遇到過這樣的問題。 當您將以上XML數據傳遞給[XMLReader dictionaryForXMLString:responseString error:nil]; 在響應字符串的地方,那麼它會很好的工作。但是如果你執行上面的代碼,它會顯示dictionary =(null)。
在此先感謝!
如果你替換NSDictionary * dics = [XMLReader dictionaryForXMLData:urlData error:nil],你會在錯誤參數中得到什麼?與NSError *錯誤=零; NSDictionary * dics = [XMLReader dictionaryForXMLData:urlData錯誤:&錯誤]; NSLog(@「error:%@」,[error localizedDescription]);你的錯誤應該在那裏。 – Vlad
錯誤是(null) – Warewolf