Java jsoup,ColdFusion 9,节点&引用;未定义变量";错误
好的。。。我试图隔离,然后操纵br标记后面的文本。我得到了输出,但是抛出了一个错误。下面未显示显示代码,但这里是cfscript块:Java jsoup,ColdFusion 9,节点&引用;未定义变量";错误,java,coldfusion,jsoup,Java,Coldfusion,Jsoup,好的。。。我试图隔离,然后操纵br标记后面的文本。我得到了输出,但是抛出了一个错误。下面未显示显示代码,但这里是cfscript块: <cfscript> jSoupClass = createObject( "java", "org.jsoup.Jsoup" ); nodeClass = createObject("java", "org.jsoup.nodes.Node"); textNodeClass = createObject("java", "org.jsoup.node
<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>
jSoupClass=createObject(“java”、“org.jsoup.jsoup”);
nodeClass=createObject(“java”、“org.jsoup.nodes.Node”);
textNodeClass=createObject(“java”、“org.jsoup.nodes.TextNode”);
html=“…”;
doc=jSoupClass.parse(html);
brs=doc.select(“table>tbody>tr>td>div>b:类型~br的最后一个”);
用于(brs中的br){
结果=br.nextSibling();
writeOutput(结果(result.toString())和“
”;
}
CF错误消息:变量结果未定义
任何协助都将不胜感激
writeOutput(results(result.toString())&"<br />");
writeOutput(结果(result.toString())&“
”;
上面这行是错误消息中提到的内容我知道这已经晚了,但请告诉我我是否正确
我正在深入探讨jSoup和ColdFusion:不要使用
toString()
方法,而是尝试jSoup的text()
,html()
等方法。您尝试过类似的方法吗
for( br in brs ){
result = br.nextSibling();
if(!result.isBlank())
writeOutput(result.toString() & "<br />");
}
for(brs中的br){
结果=br.nextSibling();
如果(!result.isBlank())
writeOutput(result.toString()&“
”;
}
您要确保正在检查节点是否为空或是否有内容。您引用的错误与您发布的代码无关。屏幕上的错误消息应该识别发生错误的确切代码行,包括实际的代码段。提供的代码将返回的唯一错误(假设jsoup jar在类路径上)是关于
结果不存在。当您遵循Adam的建议时,请记住确保您发布的代码尽可能独立。错误消息是正确的:results
未在您提供的代码中定义。该行将作为writeOutput(result.outerhtml()&'
')
工作,但这并不是results
函数应该做的事情。感谢您的评论。我把线路改成了你提供的。我仍然得到我想要的输出和我不想要的错误:变量结果未定义。[参考代码:writeOutput(result.outerhtml()&'
')。我认为问题是由于这行代码引起的:result=br.nextSibling();您从未检查是否找到下一个兄弟姐妹。如果找不到同级,则会导致您描述的错误。此外,上面的代码中没有定义results(),因此这也是一个明显的问题。