2013-05-02 17 views
0

我試圖使用的API在檢索它時返回亂碼XML。
以下是將auth參數發佈到端點的基本代碼。AFNetworking XMLResponse正文是HTML編碼,不可能解析

[[APIManager sharedManager] postPath:@"Authenticate" 
          parameters:params 
          success:^(AFHTTPRequestOperation *operation, XMLParser *xmlParser) { 
           //code 
           NSLog(@"Raw XML Data: %@", [[NSString alloc] initWithData:operation.responseData encoding:NSUTF8StringEncoding]); 

          } 
          failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
           //code 
           DLog(@"error: %@", error); 
          }]; 

我得到的迴應是亂碼,像這樣:

Raw XML Data: <?xml version="1.0" encoding="utf-8"?><string xmlns="http://www.morningstarsoftware.com/">&lt;MorningStar_BCE_WS&gt;&lt;MyUserInfo&gt;&lt;Tenant_Id&gt;37&lt;/Tenant_Id&gt;&lt;MsClient&gt;OBC05&lt;/MsClient&gt;&lt;Suite_Location&gt;DA&lt;/Suite_Location&gt;&lt;pseq&gt;6690&lt;/pseq&gt;&lt;CPResetAccess&gt;false&lt;/CPResetAccess&gt;&lt;CCPayor&gt;N&lt;/CCPayor&gt;&lt;CPAllowFinancial&gt;false&lt;/CPAllowFinancial&gt;&lt;CPAllowScheduler&gt;true&lt;/CPAllowScheduler&gt;&lt;CPAllowService&gt;false&lt;/CPAllowService&gt;&lt;FirstName&gt;Gary&lt;/FirstName&gt;&lt;LastName&gt;Evans&lt;/LastName&gt;&lt;OfferCC&gt;Y&lt;/OfferCC&gt;&lt;AllowACH&gt;Y&lt;/AllowACH&gt;&lt;MerchantAccount&gt;121513&lt;/MerchantAccount&gt;&lt;SQID&gt;0&lt;/SQID&gt;&lt;SQID2&gt;0&lt;/SQID2&gt;&lt;Ecom_payment_recurring /&gt;&lt;/MyUserInfo&gt;&lt;/MorningStar_BCE_WS&gt;</string> 

我做得不對,或者是API只是返回這個錯誤?

+1

什麼是「亂碼」? – matt 2013-05-02 02:36:50

+0

嗯,編輯器解碼了html編碼的字符串,讓我看看我是否可以編輯它來顯示我實際得到的迴應。 – 2013-05-02 18:25:47

+0

那裏,現在你可以看到如何「字符串」節點是一個HTML編碼表示xml – 2013-05-02 18:26:57

回答

1

他們選擇做的事很奇怪,但它並不瘋狂。他們正在返回完全有效的XML,具有以下結構:

<?xml version="1.0" encoding="utf-8"?> 
<string xmlns="http://www.morningstarsoftware.com/"> 
    Some Text 
</string> 

這是合法的。由於我寫成「某些文本」是文本,所以將左尖括號寫爲左角括號實體是正確的(並且是必需的)。

包含網頁原始HTML的RSS源的工作方式完全相同。例如,我的應用程序「TidBITS新聞」展示了以相同方式到達的網頁內容(在UIWebView中),與實現的節點內容一樣。

這不是什麼問題,因爲當你的XML解析器請求<string>元素的內容時,實體將被轉換回實際的尖括號,並且你會得到一個你可以做的事情。在你的情況下,你將使用該字符串做什麼,將它作爲XML解析

+0

完美。謝謝 – 2013-05-03 01:18:38