Jsoup获取具有CDATA标签的javascript内容?

前端之家收集整理的这篇文章主要介绍了Jsoup获取具有CDATA标签的javascript内容?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Jsoup来解析网页.但是有些我希望解析的信息是在CDATA标记内部,这会阻止解析器提取内部数据.我如何从CDATA标签提取数据?
例:
<script type='text/javascript'><!--// <![CDATA[
    OA_show('300x250');
// ]]> --></script>
         <script type='text/javascript'>alert("Hello");</script>

如果我使用Jsoup解析此页面并尝试使用“script [type = text / javascript]”选择页面中所有匹配的元素,我将返回页面中没有CDATA标签而不是警报的其他脚本的内容(“你好”);值.
我如何使用Jsoup在CDATA标签获取该值?

谢谢!

解决方法

String page = "<script type='text/javascript'><!--// <![CDATA[\n" +
        "    OA_show('300x250');\n" +
        "// ]]> --></script>\n" +
        "         <script type='text/javascript'>alert(\"Hello\");</script>";

String html = Jsoup.parse(page).select("script").get(0).html();
html = html.replace("<!--// <![CDATA[","");
html = html.replace("// ]]> -->","");

System.out.println(html);

结果

OA_show('300x250');
原文链接:https://www.f2er.com/java/444646.html

猜你在找的Java相关文章