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