Ben Jsoup kitaplığını kullanarak, yerel bir HTML dosyası yüklemek gibi olamaz. Ya da en azından onu tanımak gibi görünmüyor. Yerel dosyada kesin html (var olarak 'html') kodlanmış ve bir dosya girişinin yerine o geçtiğinizde kod mükemmel çalışıyor. Ancak dosya her iki durumda da okunur.Yerel bir html dosyasını Jsoup'a nasıl yüklerim?
import java.io.File;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class FileHtmlParser{
public String input;
//constructor
public FileHtmlParser(String inputFile){input = inputFile;}
//methods
public FileHtmlParser execute(){
File file = new File(input);
System.out.println("The file can be read: " + file.canRead());
String html = "<html><head><title>First parse</title><meta>106</meta> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /></head>"
+ "<body><p>Parsed HTML into a doc.</p>" +
"" +
"<div id=\"navbar\">this is the div</div></body></html>";
Document doc = Jsoup.parseBodyFragment(input);
Elements content = doc.getElementsByTag("div");
if(content.hasText()){System.out.println("result is " + content.outerHtml());}
else System.out.println("nothing!");
return this;
}
}/*endOfClass*/
Sonuç zaman:
Doküman doc = Jsoup.parseBodyFragment (HTML)
The file can be read: true
result is <div id="navbar">
this is the div
</div>
Sonuç zaman:
Doküman doc = Jsoup.parseBodyFragment (giriş)
The file can be read: true
nothing!
Hayır'ı:
yerine
JSoup.parse(File in, String charsetName)
yöntemi kullanmak bir dosyadan ayrıştırmak için sormak için. –Güncelleme: Orijinal cevap ben yanlışlıkla yerine '' File'' nesne '' in'' ait input'' dize '' içinde geçti. Ayrıca çalışmasını sağlamak için kodu '' try-catch'' bloğuna sarmanız gerekecektir. – holygeek
Teşekkür ederiz! Dize'den bir Dosya türüne geçiş, bir çekicilik çalıştı. –