xml或我编写的代码中的问题?

时间:2011-01-04 07:38:20

标签: iphone xml

我正在从这个网址解析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或我写的代码..?

2 个答案:

答案 0 :(得分:1)

第6行和第23行中的文字&是XML文件中的错误(它们确实存在于我刚刚检查过的原始XML Feed中)。他们需要&amp;代替。

通常,需要在普通XML文本中屏蔽以下字符:

<   &lt;
>   &gt;
&   &amp;
"   &quot;
'   &apos;

答案 1 :(得分:0)

您好 只是为了加上这个。当您形成包含任何上述标记的xml时,我们也会遇到问题。如果您的请求包含上述标记,则不会处理该请求。我在我的项目中遇到过这个问题。 在这种情况下,我们还需要在形成xml的同时用相应的特殊字符替换标签并发送请求。