Jeder, der professionell Webanwendungen entwickelt, kennt und liegt es, das jQuery-Framework. Wenn man allerdingsw in PHP- oder Java-Anwendung XML- oder HTML-Dokumente verarbeiten wollte, musst man immer mit xPath, DOM oder SAX rumrudern. Muss man nicht. Einige findige Jungs haben jQuery von Javascript nach PHP und java portiert.
phpQuery
phpQuery ist die Portierung von jQuer,y nach PHP und kann einfach über PEAR installiert werden. Zwar funktioniert das .each()-Konstrukt etwas anders, das liegt aber daran, dass PHP keine funktionen referenzieren kann.
phpQuery::newDocumentXML($html, $charset = 'utf-8')
foreach(pq('li') as $li) // $li is pure DOMNode, change it to phpQuery object pq($li);
Jerry
Das Java-Pendent dazu heißt Jerry. Hier wurde die Funktionsreferenz durch eine JerryFunction-Objekt abgebildet.
public class AllMusicNewReleases { public static void main(String[] args) throws IOException { // download the page super-efficiently File file = new File(SystemUtil.getTempDir(), "allmusic.html"); NetUtil.downloadFile("http://allmusic.com", file); // create Jerry, i.e. document context Jerry doc = Jerry.jerry(FileUtil.readString(file)); // parse doc.$("div#new_releases div.list_item").each(new JerryFunction() { public boolean onNode(Jerry $this, int index) { System.out.println("-----"); System.out.println($this.$("div.album_title").text()); System.out.println($this.$("div.album_artist").text().trim()); return true; } }); } }
Die beiden Frameworks funktionieren ansonsten, wie jQuery!
Comments powered by CComment