2011-05-06 80 views
0

我遇到一個問題,試圖在Flex 3的應用程序使用XML。我在Mac上運行的Flex Builder 3Flex 3的錯誤加載XML

我剛剛升級到3.6 SDK,我開始靶向的Flash Player 10,而不是Flash播放9.0.124--所以也許有什麼用它做。也許我升級不正確?

出於某種原因,它不會讓我加載某些XML。我收到了很多語法錯誤。

<mx:XML id="myStuff" source="data/myData.xml" format="e4x" /> 

我的數據是谷歌地圖編碼數據。它看起來像這樣:

<group> 
    <area stackName="PlaceA"> 
     <name>Place A</name> 
     <latitudeCenter>38.954069</latitudeCenter> 
     <longitudeCenter>-77.033408</longitudeCenter> 
     <encoding>[email protected]{Y?sJCqJI}IB{NCq]@?{[email protected]@[email protected]`C}@fAzBEfGBbFCzEBdJ?xQfO|ClCbBnA</encoding> 
     <level>[email protected]@@[email protected]@@@[email protected]</level> 
     <zoomFactor>2</zoomFactor> 
     <numlevels>18</numlevels> 
    </area> 

    <area stackName="PlaceB"> 
     <name>Place B</name> 
     <latitudeCenter>38.91911901743697</latitudeCenter> 
     <longitudeCenter>-77.04505920410156</longitudeCenter> 
     <encoding>ieqlFjiguM?_YHW\[email protected]@UNAcA{[email protected]`@[email protected]@dFnMbCxF|B`[email protected]@RoCnAsCfA}[email protected]`@[email protected]@[email protected]@[email protected]}@[email protected]@[email protected]@[email protected]@}@[email protected]@@[[[email protected]@[email protected]?W</encoding> 
     <level>[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected][email protected]?BP</level> 
     <zoomFactor>2</zoomFactor> 
     <numlevels>18</numlevels> 
    </area> 
</group> 

如果我刪除兩條線,那麼我不會收到任何錯誤。如果我把它們留下,那麼我會遇到很多語法錯誤。也許有些東西需要逃脫?如果是這樣,怎麼樣?

之前我升級到3.6 SDK,我使用了類似的數據沒有任何問題。

有什麼建議嗎?

謝謝。

-Laxmidi

+0

有沒有你不使用Flex 4某種原因? - 無論如何,請發佈錯誤消息。 – ocodo 2011-05-06 01:10:40

+0

嗨Slomojo,謝謝你的消息。我還沒有升級,但。我很便宜/懶惰,並且它看起來並不像FlashBuilder 4增加了很多。問題肯定是逃避角色。有趣的是,在Flash 9和3.2 SDK中,加載XML不是問題,但對於Flash 10和3.6 SDK,這是一個問題。如果我逃過標籤之間的所有奇怪字符,錯誤就會消失。但是,當我在谷歌地圖中使用的轉義版本時,它繪製了一條瘋狂的線條。所以,我需要找出解決方案。 – Laxmidi 2011-05-06 16:51:27

+0

我也注意到,與Flash 10的XML標籤和3.6 SDK有一個命名空間的地方的,它沒有與舊版本。我需要放置一個名稱空間嗎?如果是這樣,什麼?我認爲XML是核心的一部分? – Laxmidi 2011-05-06 16:52:36

回答

0

我建議使用CDATA標記包裝內容。

<mx:XML xmlns=""> 
<group> 
    <place stackName="Place1"> 
     <name>Place ABC</name> 
     <encoding> 
      <![CDATA[ 
       ieqlFjiguM?_YHW\[email protected]@UNAcA{[email protected]`@[email protected]@dFnMbCxF|B`[email protected]@RoCnAsCfA}[email protected]`@[email protected]@[email protected]@[email protected]}@[email protected]@[email protected]@[email protected]@}@[email protected]@@[[[email protected]@[email protected]?W 
      ]]> 
     </encoding> 
    </place> 
</group>