Ze zástupu HTML parserů pro Javu jsem vybral JTidy (javovskou implementaci poměrně známého HTML Tidy).
Výpis správně formátovaného dokumentu z nesprávně formátovaného vstupu na standardní výstup:
Tidy tidy = new Tidy();
tidy.setQuiet(true);
tidy.setShowWarnings(false);
tidy.parse(new FileInputStream("test.html"), System.out);
JTidy také umí výsledek parsování vrátit jako
org.w3c.dom
dokument, se kterým se pracuje běžnými DOM metodami. Výpis všech odkazů z dokumentu:Document d = tidy.parseDOM(
new FileInputStream("test.html"), null);
NodeList l = d.getElementsByTagName("a");
for (int i = 0; i < l.getLength(); i++) {
Node n = l.item(i);
if (n instanceof Element) {
System.out.println(
((Element) n).getAttribute("href"));
}
}
Update 4.7.2007: Podobnou věc řešil na svém blogu Leoš Literák, a v diskuzi si pár lidí na JTidy poněkud stěžovalo.
pise se sformatovat nebo zformatovat ? co myslis ?
OdpovědětVymazatNo to mě mohlo napadnout, že spellchecker ve Firefoxu nebude jedinej, kdo si bude ztěžovat :)
OdpovědětVymazat