簡體   English   中英

Jsoup 解析 Jsp 文件中的腳本標簽(帶有 c 標簽)的解析問題

[英]Jsoup parse issue for paring script tag (with c tag) in Jsp file

我有一個 JSP 文件,我需要從該文件中獲取腳本標簽的 src 屬性中的 js 文件詳細信息。 這適用於普通的純腳本標簽(如下所示)

<script src="/resources/js/jquery.min.js" ></script>

我正在使用帶有 UTF-8 字符集的 Jsoup 庫解析方法將 jsp 文件解析為 html 文件

Document htmlDocument = Jsoup.parse(file, "UTF-8");

從文檔(HTML 文檔)中獲取所有具有 src 屬性的腳本標簽的集合,在 foreach 循環中從集合中獲取 src 屬性詳細信息。

實際腳本標簽:

<script src="<c:url value="/resources/js/jquery.min.js" />"></script>

Jsoup 1.8.1 lib解析output:

<script src="<c:url value=" esources="" s="" query.min.js"=""></script>"&gt; 

Jsoup 1.12.1 lib解析output:

<script src="<c:url value=" resources js jquery.min.js"></script>

預期 output:

"/resources/js/jquery.min.js"

實際 output:

"<c:url value="

任何人都可以對這個問題有所了解嗎?

似乎 JSoup 解析器不喜歡內部引號。 我不會說這是 JSoup 問題,因為您的解析不符合 HTML 標准。 換句話說,我認為 JSoup 正在按設計工作(對於 SO 上的代碼格式也可以這樣說)。

我不確定 JSP 是否可以正常工作,但是當我嘗試將內部雙引號換成單引號時:

<script src="<c:url value'/resources/js/jquery.min.js' />"></script>

解析似乎按您的預期工作

<c:url value'/resources/js/jquery.min.js' />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM