繁体   English   中英

带有ColdFusion的jSoup select()中的意外结果

[英]Unexpected result in jSoup select() with ColdFusion

出于某种原因,从jSoup对象的select()调用总是得到奇怪的结果。

这是我的代码(我试图获取简单的标题和元标记值,并将其插入到名为“ request”的对象中):

<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代码,可以正常工作。

输出请求对象时,将得到以下结果:

在此处输入图片说明

这里可能出什么问题了?

您可以忽略请求对象中的其他键,这里唯一需要注意的是descriptiontitle ,它们都给我带来奇怪的结果!

在此之前,我正在通过CFHTTP以一些代码加载HTML(一切正常)。

非常感谢您的帮助。

非常感谢,迈克尔。

更新:

转储“解析”后,我得到以下信息:

在此处输入图片说明

转储parsed.select("title")我得到:

在此处输入图片说明

您存储的是实际的Element而不是标签的内容,这就是我假设的意图。 即使您希望它可以作为Java对象转储,也可能会有一些怪癖阻止了它。 您可能想存储实际文本而不是转储元素,例如:

<cfset variables.request.title = parsed.select("title").first().text() />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM