[英]jsoup fails to return complete node with all children
我有一個示例HTML,如下所示:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html lang="en">
<head>
<title>example.com</title>
</head>
<body>
<div>
<ul class="mb10">
<li><input class="ript" name="pmtmthd" value="NOLINK"
type="radio" id="NOLINK" reqType="ChgPaymentMtd" nodsb="true">
<label for="NOLINK"><img
src="https://example.com/example1.gif"
height="23" width="147" alt="Credit Card">
<div class="v10777" style="margin-left: 20px">Processed</div>
</label> </input>
</li>
<li><input class="ript" name="pmtmthd" value="SPLLINK"
type="radio" id="SPLLINK" reqType="ChgPaymentMtd" nodsb="true"
checked="checked"> <label for="SPLLINK"><img
src="https://example.com/example2.gif"
height="19" width="73" alt="spllink">
</label> </input>
</li>
</ul>
</div>
</body>
</html>
我正在嘗試提取所有無線電元素:
List<Element> radioElements = doc.getElementsByAttributeValue("type", "radio");
給出的輸出不包含任何子元素信息,如下所示:
<input class="ript" name="pmtmthd" value="NOLINK" type="radio" id="NOLINK" reqType="ChgPaymentMtd" nodsb="true" />
<input class="ript" name="pmtmthd" value="SPLLINK" type="radio" id="SPLLINK" reqType="ChgPaymentMtd" nodsb="true" checked="checked" />
我如何才能在所有孩子都完好無損的情況下獲取所有廣播元素?
Jsoup嘗試規范化html,以便它可以更正任何錯誤的行為(無效的html)。 將某些內容放置在input
標記內是無效的html( input
是一個自閉元素,不允許使用任何子代,只能使用屬性),因此將其刪除。 如果要防止發生這種規范化,請使用其他解析器,如下所示。
Document doc = Jsoup.parse(html, "", Parser.xmlParser());
Elements radios = doc.getElementsByAttributeValue("type", "radio");
System.out.println(radios);
產量
<input class="ript" name="pmtmthd" value="NOLINK" type="radio" id="NOLINK" reqtype="ChgPaymentMtd" nodsb="true"><label for="NOLINK"><img src="https://example.com/example1.gif" height="23" width="147" alt="Credit Card">
<div class="v10777" style="margin-left: 20px">
Processed
</div></img></label></input>
<input class="ript" name="pmtmthd" value="SPLLINK" type="radio" id="SPLLINK" reqtype="ChgPaymentMtd" nodsb="true" checked="checked"><label for="SPLLINK"><img src="https://example.com/example2.gif" height="19" width="73" alt="spllink" /></label></input>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.