2
出于某种原因,我总是从调用jSoup对象的select()
获得奇怪的结果。jSoup在ColdFusion中选择()的意外结果
这里是我的代码(我试图让简单的标题和meta标签值,并将其插入到我的所谓的“请求”对象):
<cfset jsoupObject = createObject("component","lib.javaloader.JavaLoader").init([ expandPath('/lib/jsoup-1.7.2.jar') ]) />
<cfset jsoupCreate = jsoupObject.create("org.jsoup.Jsoup") />
<cfset parsed = jsoupCreate.parse(document.filecontent) />
<cfset variables.request = {} />
<cfset variables.request.title = parsed.select("title").first() />
<cfset variables.request.description = parsed.select("meta[name=description]").first() />
因为我有这样一个CFC,我使用一个Java Loader,它工作正常。 document.filecontent
是一段HTML代码,工作正常。
当我输出我的请求对象,我得到以下结果:
可能是错误怎么回事?
您可以忽略请求对象的其他按键,唯一要注意的是这里描述和标题,这既给我怪异的结果!
我正在通过CFHTTP
在一些代码之前加载我的HTML(所有工作正常)。
我真的很感谢你的帮助。
非常感谢, Michael。
UPDATE:
倾销 '解析' 我得到以下几点:
倾销parsed.select("title")
我得到:
当您转储“已分析”时,您会得到什么?另外,如果你转储选择的结果而不做“第一”呢? – Marcin 2013-05-08 10:01:34
@Marcin感谢您的快速回复。看到我的编辑上面进一步的截图。我正在使用Railo。 jSoup在过去工作得很好,所以我显然做错了什么。 – 2013-05-08 10:05:47
嗯..它看起来像选择的结果正在作为一个数组处理,而不是像在Java JSoup中的“元素”。如果你选择(...)[1]而不是.first(),它会起作用吗? – Marcin 2013-05-08 10:13:51