2012-02-13 31 views
1

我的問題:Fullstops正在從一個網絡服務的XML文件剝離出來當字段的格式爲:2的Flex - Web服務 - fullstops被剝奪

詳解: 使用Flash Builder 4.5我有一個Mobile項目,它使用Web服務進行同步,以下載並讀取XML文件,然後將其插入本地SQLite數據庫。

如果我直接看看Web瀏覽器中的XML文件,數據是100%正確的。

我在使用被稱爲問題的場questionno這往往在格式保存數據:2.

看着已經對於該字段被表示爲一個字符串的對象生成的元數據。

但是,如果我在數據庫插入之前放置了一個斷點,則該字段中的完整停止點已被刪除。我能想到的唯一的事情就是它試圖把它當作一個數字來對待2)工作正常。

如果我不能得到這個問題的解決方案,那麼我只會最終在生成xml文件的代碼上進行字符串替換,並用括號替換fullstops。

但我似乎很奇怪它會自動改變我提供給它的數據,即使它應該是一個字符串。

+0

你試過在CDATA 「<![CDATA [!」 標籤插入數據? – ShaunOReilly 2012-02-14 09:37:03

+0

是的,這似乎沒有效果。如果我放入第二個完全停止位即「1 ..」,那麼它們都會出現,但是在到達數據庫插入位置之前,只有一個被刪除。如果我在Flash Builder中使用測試操作來測試Web服務,那麼我可以看到完整的截圖。 – Rjs37 2012-02-14 16:11:29

+1

你試過逃離滿貫嗎? .我認爲 – ShaunOReilly 2012-02-14 21:52:55

回答

0

謝謝肖恩,去那條路線工作。贊成你的評論。

剛剛在我的PHP(它生成xml)中用手動str_replace替換fullstops與實體值,然後回到我需要的flex代碼(主要顯示在列表中)我添加了一個函數(通過google )將把實體轉換回文本。

下面包含了其他任何有類似問題的人。

temp = temp.replace(/ &#\ d +;/g,replaceFunc);

私有函數replaceFunc():字符串{

var s:String = arguments[0]; 
s = s.substring(2, s.length - 1); 
s = String.fromCharCode(parseInt(s)); 
return s; 

}