Shr*_*794 5 javascript java cdata jsoup
我正在使用Jsoup来解析网页.但是有些我希望解析的信息是在CDATA标记内部,这会阻止解析器提取内部数据.我如何从CDATA标签中提取数据?例:
<script type='text/javascript'><!--// <![CDATA[
OA_show('300x250');
// ]]> --></script>
<script type='text/javascript'>alert("Hello");</script>
Run Code Online (Sandbox Code Playgroud)
如果我使用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);
Run Code Online (Sandbox Code Playgroud)
结果
OA_show('300x250');
Run Code Online (Sandbox Code Playgroud)