【发布时间】:2013-08-28 07:01:28
【问题描述】:
好的...我正在尝试隔离,然后处理 br 标记之后的文本。我得到了输出,但是抛出了一个错误。下面没有显示显示代码,但这里是 cfscript 块:
<cfscript>
jSoupClass = createObject( "java", "org.jsoup.Jsoup" );
nodeClass = createObject("java", "org.jsoup.nodes.Node");
textNodeClass = createObject("java", "org.jsoup.nodes.TextNode");
html = "<html>...</html>";
doc = jSoupClass.parse(html);
brs = doc.select( "table > tbody > tr > td > div > b:last-of-type ~ br");
for( br in brs ){
result = br.nextSibling();
writeOutput(results(result.toString())&"<br />");
}
</cfscript>
CF 错误消息:变量 RESULTS 未定义。
任何帮助将不胜感激。
writeOutput(results(result.toString())&"<br />");
上面的行是错误消息中提到的内容
【问题讨论】:
-
您引用的错误与您发布的代码无关。屏幕上的错误消息应标识发生错误的确切代码行,包括实际的代码段。发布。
-
提供的代码将返回的唯一错误(假设 jsoup jar 在类路径上)是关于
results不存在。当您遵循 Adam 的建议时,请记住确保您发布的代码尽可能独立。 -
错误信息是正确的:
results在您提供的代码中未定义。该行将作为writeOutput( result.outerhtml() & '<br/>')工作,但这不会做任何results函数应该做的事情。 -
感谢 cmets Peter。我将线路更改为您提供的线路。我仍然得到我想要的输出和我不想要的错误:变量结果未定义。 [引用代码:writeOutput(result.outerhtml() & '
')]. -
我认为问题是由于这一行:result = br.nextSibling();您永远不会检查是否找到下一个兄弟姐妹。如果这找不到兄弟,这将导致您描述的错误。上面的代码中也没有定义 results() ,所以这也是一个明显的问题。
标签: java coldfusion jsoup