2015-08-23 35 views
0
<script type="text/javascript" src="http://xyz.js"></script> 
<script type="text/javascript" src="http://abc.js"></script> 

我想提取有效載荷這些Java腳本值(我的負載是非常大的。在這裏,我展示這需要從有效載荷獲取所需的內容)提取從有效載荷特定內容的騾子

而且我想從有效載荷中獲取所有的js值(這裏計數是2,但在其他情況下可能會更多),併爲其他功能逐一檢索這些值。

我不知道如何從有效載荷中獲取特定內容,並且如果count超過1,而不是如何爲其他功能逐個處理所有計數。

請諮詢

+0

您可以發佈您的代碼,以便我們可以更多地瞭解您需要什麼當有效負載非常大時,建議使用groovy而不是Java腳本如此解釋您的需求,我們可能會得到一個可能不需要JS的解決方案。 –

+0

嘿Naveen, js數據是在那裏我不使用js它是我的有效載荷內。 查看源代碼:http://www.xalkori.com/ - 轉到這個鏈接這是我的整個有效載荷,我想獲取js scipt url,因爲是精神初始..請教建議.. – Isranis

+0

@AnirbanSenChowdhary請指教。 – Isranis

回答

0

你可以使用一個分路器,拆你的第一個網站的內容(所有JS列在哪裏),然後使用「\ n」表達式,然後使用每條消息來檢查「JS」是否存在,然後哪些消息具有這些JS,您可以在列表中捕獲它們(使用groovy或java組件)

0

由於泰隆曾建議,我們也可以將HTML into a DOM object(可能是從一個騾子物)的方式,你可以檢索您要下載的JS文件所有的URL。一旦你有這些網址,你可以使用類似discussed here的方法。

+0

請檢查我的更新評論http:// stackoverflow.com/questions/32212522/extract-data-from-payload-in-mule – Isranis

0

如果要提取所有腳本元素的網址(src屬性的值),使用此正則表達式來提取它們,\<script[^>]*src="([^\"]*)"[^>]*\>

<expression-component doc:name="Expression"><![CDATA[import java.util.regex.*; 
import java.util.*; 

Matcher myMatcher = Pattern.compile("\\<script[^>]*src=\"([^\\\"]*)\"[^>]*\\>").matcher(payload); 

List urls = new ArrayList(); 
while (myMatcher.find()) { 
    urls.add(myMatcher.group(1)); 
} 

payload = urls;]]></expression-component> 
+0

請檢查我更新的評論http://stackoverflow.com/questions/32212522/extract-data-from-payload-in-mule – Isranis

相關問題