Ruby Bibliotheken wie hpricot zeigen wie effizient man auch ohne tausende von einzelnen Bibliotheken arbeiten kann. Ich würde diese Entwicklungrichtung als "Benutzbarkeit" von Bibliotheken für Entwickler bezeichnen, jenseits des Softwareengineerings...
Deshalb habe ich diverse Bibliotheken (jDom, TagSoup und Jaxen) unter einer Fassade names Japricot zusammen geführt, um eine leichte Möglichkeiten für XML, HTML und XSL Verarbeitung zu schaffen.
Im Folgenden sind drei Bespiele zu sehen wie übersichtlich und einfach die Arbeit damit sein kann (direktes Benutzen würde mehrere hundert Zeilen Quellcode erfordern).
public static void printHTML() { Japricot japricot=new Japricot(); JapEntity ent=japricot.openURL("http://www.neotos.de"); } public static void useXpath() { Japricot japricot=new Japricot(); JapEntity e= japricot.openURL("http://www.flickr.com/people/22056204@N06/"); List<JapEntity> e2= e.doXPathQuery("//span[@class='nickname']"); } public static void useXSL() { String xsl= "<xsl:stylesheet version=\"1.0\" "+ "xmlns:def=\"http://www.w3.org/1999/xhtml\" "+ "xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" > "+ "<xsl:template match=\"/html/body\">"+ "<xsl:value-of select=\"descendant::*/.\"></xsl:value-of>"+ "</xsl:template>"+ "</xsl:stylesheet>"; Japricot japricot=new Japricot(); JapEntity ent=japricot.openURL("http://www.neotos.de").doXSLTransformation(xsl); //if result is not a parsable xml output, it will be stick into a cdata block }
Es sei hier angemerkt, dass man jederzeit auf die hinterliegenden JDom-Objekte (Element/Node) zurückgreifen kann, denn JapEntity ist nur ein Wrapper für angenehmeres Arbeiten.
License
Dieses Projekt steht unter der GPL.
History
[Version 0.2]
Initiale Alpha-Version
[Version 0.3]
Diverse Bugfixes
| Attachment | Datum | Size |
|---|---|---|
| 18/04/09 3:34 pm | 809.23 KB |