1 package dinamica; 2 3 import electric.xml.*; 4 5 30 public class RSSConsumer extends GenericTransaction 31 { 32 33 36 public int service(Recordset inputParams) throws Throwable 37 { 38 39 int rc = super.service(inputParams); 41 42 Recordset rs = new Recordset(); 44 rs.append("title", java.sql.Types.VARCHAR); 45 rs.append("description", java.sql.Types.VARCHAR); 46 rs.append("link", java.sql.Types.VARCHAR); 47 rs.append("pubDate", java.sql.Types.VARCHAR); 48 49 String url = getRequest().getParameter("url"); 51 if (url==null || url.trim().equals("")) 52 url = getConfig().getConfigValue("url"); 53 54 String data = StringUtil.httpGet(url, false); 56 57 Document doc = new Document(data); 59 Element root = doc.getRoot(); 60 Elements items = root.getElements(new XPath("//item")); 61 while (items.hasMoreElements()) 62 { 63 rs.addNew(); 65 Element item = items.next(); 66 Elements fields = item.getElements(); 67 while (fields.hasMoreElements()) 69 { 70 Element field = fields.next(); 71 String name = field.getName(); 72 if (rs.containsField(name)) 73 rs.setValue(name, field.getString()); 74 } 75 } 76 77 publish("rss_feed", rs); 79 80 return rc; 81 82 } 83 84 } 85 | Popular Tags |