2010-12-09 79 views
1

我想從庫勒讀取一個XML,但是我無法從幾個標籤中檢索這些值,但我不知道爲什麼。幫助閱讀AS3中複雜的XML,E4X

特別是這一個:

<enclosure xmlns="http://www.solitude.dk/syndication/enclosures/"> 
    <title>yellow</title> 
- <link length="1" type="image/png"> 
    <url>http://kuler-api.adobe.com/kuler/themeImages/theme_990712.png</url> 
    </link> 
    </enclosure> 

對於我試圖

trace(XMLvar.channel.item.enclosure); 
trace(XMLvar.channel.item.enclosure[0]); 
trace(XMLvar.channel.item.enclosure.text()); 
trace(XMLvar.channel.item..enclosure); 
trace(XMLvar.channel..item..enclosure); 

等等。

我可以向你保證路線很好。我可以閱讀同一級別的其他值。我在Internet Explorer XML'編輯器'中檢查它們處於同一級別。我已經檢查了很多次,這不是問題。

這是另外一個<kuler:themeTitle>:

<kuler:themeItem> 
    <kuler:themeID>990712</kuler:themeID> 
    <kuler:themeTitle>yellow</kuler:themeTitle> 

[...] 

我得到一個錯誤,因爲結腸當我嘗試讀取值。

(1084: Syntax error: expecting rightparen before colon)

現在我越來越沮喪了。在adobe.livedocs和關於XML的教程中沒有關於這個的文檔,就像kirupa的文檔一樣,沒有提到這些東西。

+0

你試圖得到哪個標記? – chchrist 2010-12-09 20:26:56

+0

對於命名空間,你有沒有閱讀過命名空間節點的訪問? – 2010-12-09 21:52:06

回答

0

你可以簡單地搶匹配指定名稱的所有後代:

for each (var enclosure:XML in myXML.descendants('enclosure')) { 
    var title:String = enclosure.child("title").text(); 
    ...  
} 

希望有點幫助。 XML有時會令人困惑。