<script type="text/javascript" src="http://xyz.js"></script>
<script type="text/javascript" src="http://abc.js"></script>
我想从有效负载中提取这些Java脚本值(我的有效负载非常大。这里,我显示了需要从有效负载中获取所需的内容)
我想从有效负载中获取所有js值(此处计数为2但在其他情况下可能更多)并逐个检索这些值以用于其他功能。
我不知道如何从有效负载中获取特定内容,如果count超过1,那么如何逐个处理其他功能的所有计数。
请建议
答案 0 :(得分:0)
正如Tyrone建议的那样,您可以转换HTML into a DOM object(可能来自Mule组件),这样您就可以检索要下载的JS文件的所有URL。拥有这些网址后,您可以使用与discussed here类似的方法。
答案 1 :(得分:0)
如果要提取所有脚本元素的URL(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>
答案 2 :(得分:0)
您可以使用分割器,使用&#34; \ n&#34;分割第一个网站的内容(列出所有JS的内容)。表达然后使用每条消息检查&#34; JS&#34;有没有,然后哪个消息有这些JS你可以在列表中捕获它们(使用groovy或java组件)