Coldfusion / XML Ошибка - PullRequest
       41

Coldfusion / XML Ошибка

0 голосов
/ 16 августа 2011

Я использую Open BlueDragon, поскольку это то, что использует моя веб-хостинговая компания, плюс это открытый код.

Я пытаюсь прочитать канал YouTube, используя XML, и постоянно получаю следующую ошибку:

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>

Я думаю, что это работало раньше, если только мой разум не обманывал меня. Любая помощь будет оценена.

Спасибо

Douglas

Ответы [ 2 ]

0 голосов
/ 18 августа 2011

Это работает на BD, если вы измените свою ссылку на xml.feed.entry [1] ["gd: comments"] ["gd: feedlink"]. XmlAttributes.href. Обратите внимание, что я указал, какой узел входа вы имеете в виду. 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>

НТН

0 голосов
/ 16 августа 2011

Извините - этот код прекрасно работает на CF9, я полагаю, для BlueDragon. Что делать, если вы попробовали другой набор данных - может привести к подсказке:

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

Если и это не удастся, я бы заподозрил либо синтаксис кавычек, либо запись в двоеточии, тогда попробуйте документы и форумы BlueDragon.

Извините, я не мог больше помочь.

-sean

...