2013-08-28 56 views
0

好的...我正試圖隔離,然後操縱br標籤後面的文本。我得到的輸出,但錯誤拋出。顯示代碼不顯示在下面,但這裏是cfscript塊:jsoup,ColdFusion 9,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> 

CF錯誤消息:變量結果未定義。

任何援助將不勝感激。上述

writeOutput(results(result.toString())&"<br />"); 

該生產線是什麼中提到的錯誤消息

+2

您引用的錯誤並不是指您發佈的代碼。屏幕上的錯誤消息應該標識發生錯誤的確切代碼行,包括實際的一段代碼。發佈。 –

+0

提供的代碼將返回的唯一錯誤(假設jsoup jar在類路徑中)與結果不存在有關。當您按照Adam的建議時,請記得確保您發佈的代碼儘可能獨立。 –

+0

錯誤消息是正確的:在您提供的代碼中'results' * not * defined。該行將作爲'writeOutput(result.outerhtml()&'
')',但不會執行任何'results'函數應該做的事情。 –

回答

0

我知道這是遲到了,但讓我知道如果我是正確的。

我在深入探索jSoup和ColdFusion:而不是toString()方法,請嘗試jSoup的text(),html()等方法之一。

0

你試過類似的東西嗎?

for(br in brs){ 
result = br.nextSibling(); 
if(!result.isBlank()) 
    writeOutput(result.toString() & "<br />"); 
} 

您想確保檢查節點是否爲空或節點是否有內容。