2011-01-04 20 views
0

私はこのURLから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形式が来ています。

私は同様のURLからxmlを解析しています。: - http://www.pfizerpro.com/irj/servlet/prt/portal/prtroot/com.wyeth.medpage.DMLFeed

問題はどこですか?来るXMLやコードで私は書いている..?

答えて

1

6行目と23行目のリテラル&は、XMLファイルのエラーです(実際には私がチェックしたとおりに元のXMLフィードに含まれています)。代わりに&amp;にする必要があります。

は一般的には、以下の文字は、通常のXMLテキストにマスクする必要があります。

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

問題を作成していたのですが、&と置き換えてうまくいきました...返信してくれてありがとう... –

+0

XMLに問題があるときは、 xmllint'。これは、システムで利用可能なコマンドラインユーティリティです。 XMLデータに対して 'xmllint'を実行すると、リテラルアンパサンドが無効であることが示されます。 –

0

こんにちは はちょうどこのへ追加します。上記のタグのいずれかを含むxmlを作成するときにも問題が発生します。リクエストに上記のタグがある場合、リクエストは処理されません。私は私のプロジェクトでこれに直面しています。 そのような場合でも、xmlを形成している間にタグを対応する特殊文字に置き換えてリクエストを送信する必要があります。

関連する問題