我使用开放BlueDragon,因为它是我的虚拟主机公司使用的--而且它是开源的。
我正在尝试使用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>我认为它以前是有效的,除非我的大脑在捉弄我。任何帮助都将不胜感激。
谢谢
道格拉斯
发布于 2011-08-16 10:11:47
对不起--代码在CF9上运行得很好,我想是特定于BlueDragon的。如果你尝试了一组不同的数据-可能会导致一个线索:
#xml.feed.entry["gd:comments"]["gd:feedlink"].XmlAttributes.href#如果同样失败,我会怀疑引号语法或冒号符号,然后尝试BlueDragon文档和用户论坛。
抱歉,我帮不了你了。
-sean
发布于 2011-08-19 02:45:05
如果您将引用更改为xml.feed.entry1"gd:feedlink".XmlAttributes.href.,则此操作适用于BD请注意,我已经指定了您所指的条目节点。CF足够聪明,可以计算出您的意思是第一个"entry“节点(这就是您的意思吗?)。BD更像字面上的……它看到一个包含"entry“节点的数组,因此您需要指定该数组的哪个元素。
这段简化的代码演示了这一点:
<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
https://stackoverflow.com/questions/7072662
复制相似问题