Я пытаюсь прочитать веб-сайт (HTML) с помощью Java DocumentBuilder (), он читает, но когда есть знак html £
“
или любые другие специальные html-символы.Он перестает читать что-либо после специального символа, вместо этого он возвращает ноль.Многие другие люди задавали подобные вопросы.Но на это нет конструктивного ответа.Пожалуйста, дайте мне знать, если кто-нибудь знает способ решить эту проблему.Пожалуйста, найдите мой код здесь.
<html>
<body>
<p>
он увеличивается с £ 488 до £ 600 </p>
<p>
Роналс говорит: «Школы в этом попадают под бедность» </p>
</body>
</html>
Чтобы прочитать их, я написал следующий код.
private String extractTheTitle(String responseBody) throws Exception {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
ByteArrayInputStream encXML = new ByteArrayInputStream(responseBody.getBytes("UTF8"));
Document embeddedDoc = builder.parse(encXML);
NodeList titleNodes = embeddedDoc.getElementsByTagName("p");
if (titleNodes != null && titleNodes.getLength() > 0) {
for(int i = 0; i<titleNodes.getLength(); i++) {
Element aTitleElement = (Element) titleNodes.item(i);
aTitleElement.normalize();
Node titleContent = aTitleElement.getFirstChild();
String nodeText = titleContent.getNodeValue();
myArrlist.add(i , "<p>"+nodeText+"</p>");
}
}
}
вышеупомянутый код ничего не выводит после £ или «У меня естьперепробовал много способов но ничего не получалось.Пожалуйста, дайте мне знать, если кто-нибудь знает ответ.Я воспользовался помощью следующего сайта.Но это не помогло.Я не хочу удалять специальные символы HTML.Потому что я читаю эти p-теги и перестраиваю свою собственную html-страницу только с этими
тегами.
http://www.developerfeed.com/xml/common/issues/xml-parsing-failing-due-encoding-not-being-utf-8