试图从服务器获取 plist 数据但一无所获
Trying to get plist data from server but getting nothing
我正在构建这个应用程序,我需要从服务器获取数据这是我的代码
NSString *url = [NSString stringWithFormat:@"http://URL/ios/jobsearch.php"];
NSDictionary *dataDict = [[NSDictionary alloc] initWithContentsOfURL:[NSURL URLWithString:url]];
OriginalResultArray=[dataDict valueForKey:@"Objects"];
jobResultArray=[[NSMutableArray alloc] init];
[jobResultArray addObjectsFromArray:OriginalResultArray];
NSLog(@"Result is : %@",jobResultArray);
这是我的jobsearch.php
<plist version="1.0">
<dict>
<key>Objects</key>
<array>
<dict>
<key>jobname</key>
<string>asdfasdf111</string>
<key>jobbids</key>
<integer>3</integer>
<key>jobpay</key>
<integer></integer>
<key>jobid</key>
<integer>3</integer>
</dict>
<dict>
<key>jobname</key>
<string>asdfasdf1111111333</string>
<key>jobbids</key>
<integer>1</integer>
<key>jobpay</key>
<integer></integer>
<key>jobid</key>
<integer>5</integer>
</dict>
</array>
</dict>
</plist>
我在 return 中注意到所有这些代码。如果你看到的话,我的 php 文件中有 2 个字典,每个字典都有 4 个键。如果我从每个字典中删除 2 个键并且只有 2 个键,那么在这种情况下我确实会在我的数组中获取数据。但我需要所有 4 个带有数据的键。请帮忙。提前致谢。
使用 TBXml 解析器。这是解析 XML 数据的最简单方法。
您可以在Github link
下载
数据格式不正确。
改变
<key>jobpay</key>
<integer></integer>
到
<key>jobpay</key>
<string></string>
现在数据格式正确。
以下为完整数据
<plist version="1.0">
<dict>
<key>Objects</key>
<array>
<dict>
<key>jobname</key>
<string>asdfasdf111</string>
<key>jobbids</key>
<integer>3</integer>
<key>jobpay</key>
<string></string>
<key>jobid</key>
<integer>3</integer>
</dict>
<dict>
<key>jobname</key>
<string>asdfasdf1111111333</string>
<key>jobbids</key>
<integer>1</integer>
<key>jobpay</key>
<string></string>
<key>jobid</key>
<integer>5</integer>
</dict>
</array>
</dict>
最终输出:
我正在构建这个应用程序,我需要从服务器获取数据这是我的代码
NSString *url = [NSString stringWithFormat:@"http://URL/ios/jobsearch.php"];
NSDictionary *dataDict = [[NSDictionary alloc] initWithContentsOfURL:[NSURL URLWithString:url]];
OriginalResultArray=[dataDict valueForKey:@"Objects"];
jobResultArray=[[NSMutableArray alloc] init];
[jobResultArray addObjectsFromArray:OriginalResultArray];
NSLog(@"Result is : %@",jobResultArray);
这是我的jobsearch.php
<plist version="1.0">
<dict>
<key>Objects</key>
<array>
<dict>
<key>jobname</key>
<string>asdfasdf111</string>
<key>jobbids</key>
<integer>3</integer>
<key>jobpay</key>
<integer></integer>
<key>jobid</key>
<integer>3</integer>
</dict>
<dict>
<key>jobname</key>
<string>asdfasdf1111111333</string>
<key>jobbids</key>
<integer>1</integer>
<key>jobpay</key>
<integer></integer>
<key>jobid</key>
<integer>5</integer>
</dict>
</array>
</dict>
</plist>
我在 return 中注意到所有这些代码。如果你看到的话,我的 php 文件中有 2 个字典,每个字典都有 4 个键。如果我从每个字典中删除 2 个键并且只有 2 个键,那么在这种情况下我确实会在我的数组中获取数据。但我需要所有 4 个带有数据的键。请帮忙。提前致谢。
使用 TBXml 解析器。这是解析 XML 数据的最简单方法。
您可以在Github link
下载数据格式不正确。
改变
<key>jobpay</key>
<integer></integer>
到
<key>jobpay</key>
<string></string>
现在数据格式正确。
以下为完整数据
<plist version="1.0">
<dict>
<key>Objects</key>
<array>
<dict>
<key>jobname</key>
<string>asdfasdf111</string>
<key>jobbids</key>
<integer>3</integer>
<key>jobpay</key>
<string></string>
<key>jobid</key>
<integer>3</integer>
</dict>
<dict>
<key>jobname</key>
<string>asdfasdf1111111333</string>
<key>jobbids</key>
<integer>1</integer>
<key>jobpay</key>
<string></string>
<key>jobid</key>
<integer>5</integer>
</dict>
</array>
</dict>
最终输出: