0

私は Open BlueDragon を使用しています。これは、私の Web ホスティング会社が使用しているものであり、さらにオープン ソースであるためです。

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>

私の心が私にいたずらをしていない限り、以前はうまくいったと思います。どんな助けでも大歓迎です。

ありがとうございました

ダグラス

4

2 に答える 2

0

xml.feed.entry[1]["gd:comments"]["gd:feedlink"].XmlAttributes.href への参照を変更すると、これは BD で機能します。あなたが意味するエントリノードを指定したことに注意してください。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

于 2011-08-18T18:45:05.360 に答える
0

申し訳ありませんが、そのコードは CF9 で完全に正常に動作します。BlueDragon 固有だと思います。別のデータセットを試してみたらどうでしょう - 手がかりにつながるかもしれません:

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

それも失敗する場合は、引用構文またはコロン表記のいずれかが疑わしいので、BlueDragon のドキュメントとユーザー フォーラムを試してください。

申し訳ありませんが、これ以上お手伝いできませんでした。

-ショーン

于 2011-08-16T02:11:47.183 に答える