DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(new File("mypage.html"));
document.getDocumentElement().normalize();
NodeList nodeList = document.getElementsByTagName("input");
for(int i=0 , size = nodeList.getLength() ; i < size ; i++){
System.out.println(nodeList.item(i).getAttributes().getNamedItem("name").getNodeValue());
}
我使用上述代碼從某些html文件中獲取輸入標記的名稱屬性中的值。在從html文件讀取名稱屬性值時出錯
爲了更清楚我想要的打印 - 名字和姓氏從這個簡單的HTML文件代碼
<input type="text" name="firstname" value="Mickey" />
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse" />
但是,錯誤出現: [致命錯誤] ...元素類型「輸入」必須由相匹配的結束標記「/輸入>終止...
代碼或建議的任何變化,最受大家歡迎的。
有什麼不清楚的錯誤?你的html有一個標籤沒有結束標籤。 – nhouser9
你如何解析這個?用XML解析器?這看起來不是有效的XML。不應該使用像JSoup這樣的HTML解析器? –
@ nhouser9:但它確實 - 它是一個孤立的標籤並自行關閉。 –