{"id":376,"date":"2011-08-30T06:36:49","date_gmt":"2011-08-30T05:36:49","guid":{"rendered":"http:\/\/www.webmaid.de\/?p=376"},"modified":"2011-08-30T06:39:36","modified_gmt":"2011-08-30T05:39:36","slug":"html-in-java-verarbeiten","status":"publish","type":"post","link":"https:\/\/www.webmaid.de\/2011\/08\/html-in-java-verarbeiten\/","title":{"rendered":"HTML in Java verarbeiten"},"content":{"rendered":"

HTML ist ja leider kein XML und so gibt es immer wieder Probleme, wenn man versucht eine HTML-Seite aus der realen Welt zu verarbeiten; dabei klappt es mit dem DOM in einem Browser doch ganz gut, nur ist der Browser darauf spezialisiert die realen Seiten zu parsen. In Java \u00fcbernimmt dies z.B. jsoup
\n
\njsoup: Java HTML Parser<\/a> versucht s\u00e4mtliche Seiten zu parsen, um die Bestandteile dann mittels DOM und jquery zur Weiterverarbeitung anzubieten. <\/p>\n

Um z.B. alle Links eines HTML-Dokuments \u00fcber den DOM-Weg zu erhalten reichen die folgenden Zeile Java-Code:<\/p>\n

\r\nDocument doc = Jsoup.parse(html);\r\nElements links = content.getElementsByTag(\"a\");\r\nfor (Element link : links) {\r\n  String linkHref = link.attr(\"href\");\r\n  String linkText = link.text();\r\n}\r\n<\/pre>\n

Eine weitere M\u00f6glichkeit w\u00e4re (mittels CSS\/Jquery Selector):<\/p>\n

\r\nDocument doc = Jsoup.parse(html);\r\nElements links = doc.select(\"a[href]\"); \/\/ a with href\r\n<\/pre>\n

Um unsauber definierte HTML-Dokumente einfach aufzur\u00e4umen kann man sich auch noch den angucken<\/a>. Nach dem Aufr\u00e4umen kann man \u00fcber Standard-XML-Bibliotheken auf die Struktur zugreifen und muss „nichts neues“ lernen oder kann die Dokumente in die gegebene Projektstruktur einfach einbinden.<\/p>\n","protected":false},"excerpt":{"rendered":"

HTML ist ja leider kein XML und so gibt es immer wieder Probleme, wenn man versucht eine HTML-Seite aus der realen Welt zu verarbeiten; dabei klappt es mit dem DOM in einem Browser doch ganz gut, nur ist der Browser darauf spezialisiert die realen Seiten zu parsen. In Java \u00fcbernimmt dies z.B. jsoup<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,3],"tags":[38,87],"_links":{"self":[{"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/posts\/376"}],"collection":[{"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/comments?post=376"}],"version-history":[{"count":5,"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/posts\/376\/revisions"}],"predecessor-version":[{"id":386,"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/posts\/376\/revisions\/386"}],"wp:attachment":[{"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/media?parent=376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/categories?post=376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webmaid.de\/wp-json\/wp\/v2\/tags?post=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}