2012-11-02 42 views
5

Tôi đang sử dụng Jsoup để phân tích trang web. Nhưng một số nếu thông tin mà tôi muốn phân tích là bên trong một thẻ CDATA ngăn cản trình phân tích cú pháp trích xuất dữ liệu bên trong. Làm thế nào tôi sẽ đi về trích xuất dữ liệu từ bên trong một thẻ CDATA? VÍ DỤ:Jsoup nhận nội dung của javascript có thẻ CDATA?

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

Nếu tôi sử dụng Jsoup để phân tích trang này và thử chọn tất cả tha yếu tố tương ứng trong trang với "kịch bản [type = text/javascript]" Tôi có được trả lại nội dung của kịch bản khác trong trang không có thẻ CDATA nhưng không có thẻ Alert ("Hello"); giá trị. Làm cách nào để tôi nhận được một giá trị bên trong thẻ CDATA với Jsoup?

Cảm ơn!

+3

Tôi không nghĩ rằng vấn đề là CDATA, nhưng bình luận xung quanh nó. Bạn không thể tách nhận xét và CDATA crap (bằng 'String.replace()') trước khi bạn gửi văn bản trang web tới JSoup? Nó không ảnh hưởng đến bất cứ điều gì, một trình phân tích cú pháp HTML khoan dung nên biết cách xử lý Javascript không thoát trong các thẻ '

Các vấn đề liên quan