我正在从这个网址解析xml:
http://www.pfizerpro.com/irj/servlet/prt/portal/prtroot/com.wyeth.conventioncalendar.XMLFeed
即将推出的xml就是这样......
<?xml version="1.0" encoding="UTF-8"?>
<calendar_items>
<item>
<id>355</id>
<title>ASH</title>
<description>52nd Annual American Society of Hematology Meeting & Exposition</description>
<link>http://www.hematology.org/Meetings/Annual-Meeting/</link>
<event_start>12/04/2010</event_start>
<event_end>12/07/2010</event_end>
<event_category_term>Oncology, Hematology</event_category_term>
<city>Orlando</city>
<state>FL</state>
</item>
<item>
<id>357</id>
<title>null</title>
<description>Society of Urologic Oncology 2010 Annual Meeting</description>
<link>http://www.societyofurologiconcology.org/meetings/default.aspx</link>
<event_start>12/08/2010</event_start>
<event_end>12/10/2010</event_end>
<event_category_term>Hematology, Genitourinary, HIV, Immunology, Infectious Disease, Inflammation, Irritable bowel syndrome, Metabolic & Endocrine, Musculoskeletal, Neuroscience, Nutrition & Vitamins, Oncology</event_category_term>
<city>Bethesda</city>
<state>MD</state>
</item>
</calendar_items>
我正在使用此代码进行解析: -
NSURL *url = [[NSURL alloc]initWithString:@"http://www.pfizerpro.com/irj/servlet/prt/portal/prtroot/com.wyeth.conventioncalendar.XMLFeed"];
xmlParser = [[NSXMLParser alloc]initWithContentsOfURL:url];
[xmlParser setDelegate: self];
BOOL success = [xmlParser parse];
if(success) {
[actView stopAnimating];
table_view.hidden = NO;
[table_view reloadData];
NSLog(@"No Errors");
}
else {
NSLog(@"Error Error Error!!!");
[actView stopAnimating];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Error" message:@"Application cannot get data from internet.Check your internet connection." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}
它总是给出错误..为什么会发生这种情况.Url正在工作,正确的xml格式即将到来..
我正在解析xmlfrom类似的网址..: - http://www.pfizerpro.com/irj/servlet/prt/portal/prtroot/com.wyeth.medpage.DMLFeed
问题出在哪里?在即将到来的xml或我写的代码..?
答案 0 :(得分:1)
第6行和第23行中的文字&
是XML文件中的错误(它们确实存在于我刚刚检查过的原始XML Feed中)。他们需要&
代替。
通常,需要在普通XML文本中屏蔽以下字符:
< <
> >
& &
" "
' '
答案 1 :(得分:0)
您好 只是为了加上这个。当您形成包含任何上述标记的xml时,我们也会遇到问题。如果您的请求包含上述标记,则不会处理该请求。我在我的项目中遇到过这个问题。 在这种情况下,我们还需要在形成xml的同时用相应的特殊字符替换标签并发送请求。