2011-08-16 53 views
0

我使用Open BlueDragon,因爲它是我的網絡託管公司使用的 - 再加上它是開源的。Coldfusion/XML錯誤

我試圖使用XML閱讀YouTube的飼料,我不斷收到以下錯誤:

value [media:group] is not a number 

我的代碼是:

<cfhttp url="https://gdata.youtube.com/feeds/api/users/Shuggy23/favorites" method="GET" /> 
<cfset xml = XmlParse(#cfhttp.FileContent#) /> 
<cfoutput>#xml.feed.entry["media:group"]["media:thumbnail"].XmlAttributes.url#</cfoutput> 

我想,除非我的腦海裏工作過對我玩弄技巧。任何幫助,將不勝感激。

謝謝

道格拉斯

回答

0

對不起 - 代碼工作完全正常的CF9,BlueDragon具體的我想。如果你嘗試了不同的數據集 - 可能導致一個線索:如果還是失敗,那麼我會懷疑要麼引號語法或冒號表示

#xml.feed.entry["gd:comments"]["gd:feedlink"].XmlAttributes.href# 

,然後嘗試BlueDragon文檔&用戶論壇。

對不起,我忍不住了。

-Sean

0

,如果你改變你的參考xml.feed.entry [1] BD這項工作[ 「GD:評論」] [ 「GD:feedlink」] XmlAttributes.href。請注意,我已經指定了WHICH入口節點。 CF很聰明,可以確定你是第一個「入口」節點(這就是你的意思?)。 BD是更多的文字...它看到一個「入口」節點數組,因此您需要指定數組的哪個元素。

這種簡化的代碼演示了:

<cfflush interval="1"> 
<cfxml variable="x"> 
    <a> 
     <b><c>d</c></b> 
     <b><c>e</c></b> 
    </a> 
</cfxml> 
<cfoutput>x.a.b[1]["c"].xmlText: #x.a.b[1]["c"].xmlText# (OK on both platforms)<br /></cfoutput> 
<cftry> 
    <cfoutput>x.a.b["c"].xmlText: #x.a.b["c"].xmlText# (OK on CF only)<br /></cfoutput> 
    <cfcatch> 
     <cfdump var="#cfcatch#"> 
     <cfdump var="#x#"> 
    </cfcatch> 
</cftry> 

HTH

+0

僅供參考,我已經提出了這個錯誤:http://code.google.com/p/openbluedragon/issues/detail ?ID = 371;並將它放在OpenBD谷歌組的雷達上(https://groups.google.com/forum/#!topic/openbd/HzsHj41QHTA)。目前還沒有任何反應,但他們通常會很快解決問題。 –