try{    org.dom4j.io.SAXReader saxReader = new org.dom4j.io.SAXReader();   org.dom4j.Document document = saxReader.read(rssUrl);   org.dom4j.Element channel = (org.dom4j.Element) document.getRootElement().element("channel");     int index =0;           for (java.util.Iterator i = channel.elementIterator("item"); i.hasNext();){             if(index+1>rssTable.Rows.length){             break;            }              org.dom4j.Element element = (org.dom4j.Element) i.next();                String title = element.elementText("title");                String link = element.elementText("link");                String pubDate = element.elementText("pubDate");                String source = element.elementText("source");                  ci.adp.DataRow rssRow = rssTable.getDataRowByIndex(index);                              rssRow.setValue("TITLE", title);                rssRow.setValue("LINK", link);                rssRow.setValue("PUBDATE", pubDate);                rssRow.setValue("SOURCE", source);                 /*                System.out.println("title标题: " + title);                System.out.println("link链接: " + link);                System.out.println("pubDate发布时间: " +pubDate);                 System.out.println("source来源: " + source);                */                index++;             }  }catch (Exception e) {    e.printStackTrace();  }

折腾了一上午,终于换一种方式搞定了。

上面这种dom4j方式,在我本机环境(windows+weblogic10+jdk1.6)下没问题,
放到服务器上(linux5.4 x64+weblogic10+jdk1.6)上,始终都报这个错:

[oracle@ablw010215 bin]$ Warning: Caught exception attempting to use SAX to load a SAX XMLReaderWarning: Exception was: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfigurationWarning: I will print the stack trace then carry on using the default SAX parserjava.lang.ClassCastException: com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration        at org.xml.sax.helpers.XMLReaderFactory.loadClass(XMLReaderFactory.java:199)        at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:150)        at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)        at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)        at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)        at org.dom4j.io.SAXReader.read(SAXReader.java:435)        at org.dom4j.io.SAXReader.read(SAXReader.java:321)        at jsp_servlet._ajax._comm._bbs.__iframearticlecontent._jspService(__iframearticlecontent.java:100)        at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at ci.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:107)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)org.dom4j.DocumentException: SAX2 driver class weblogic.xml.jaxp.RegistryXMLReader does not implement XMLReader Nested exception: SAX2 driver class weblogic.xml.jaxp.RegistryXMLReader does not implement XMLReader        at org.dom4j.io.SAXReader.read(SAXReader.java:484)        at org.dom4j.io.SAXReader.read(SAXReader.java:321)        at jsp_servlet._ajax._comm._bbs.__iframearticlecontent._jspService(__iframearticlecontent.java:99)        at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at ci.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:107)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)Nested exception: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration        at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:98)        at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)        at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)        at org.dom4j.io.SAXReader.read(SAXReader.java:435)        at org.dom4j.io.SAXReader.read(SAXReader.java:321)        at jsp_servlet._ajax._comm._bbs.__iframearticlecontent._jspService(__iframearticlecontent.java:100)        at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at ci.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:107)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)Nested exception: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration        at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:98)        at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)        at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)        at org.dom4j.io.SAXReader.read(SAXReader.java:435)        at org.dom4j.io.SAXReader.read(SAXReader.java:321)        at jsp_servlet._ajax._comm._bbs.__iframearticlecontent._jspService(__iframearticlecontent.java:100)        at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at ci.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:107)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

<2012-11-8 上午10时56分08秒 CST> <Warning> <Socket> <BEA-000449> <Closing socket as no data read from it on 10.16.99.18:53,874 during the configured idle timeout of 5 secs>
<2012-11-8 上午10时56分08秒 CST> <Warning> <Socket> <BEA-000449> <Closing socket as no data read from it on 10.16.99.18:53,875 during the configured idle timeout of 5 secs>

在weblogic.xml加配置文件、加lib包等等都不起作用,换成这个就好了(依赖lib在我上传的资源中,完全免费):

try { URL url = new URL(rss); // 读取Rss源 XmlReader reader = new XmlReader(url); System.out.println("Rss源的编码格式为:" + reader.getEncoding()); SyndFeedInput input = new SyndFeedInput(); SyndFeed feed = input.build(reader); // 得到SyndFeed对象,即得到Rss源里的所有信息 List entries = feed.getEntries(); // 得到Rss新闻中子项列表 int index =0; for (int i = 0; i < entries.size(); i++) { // 循环得到每个子项信息 if(index+1>rssTable.Rows.length){ break; } SyndEntry entry = (SyndEntry) entries.get(i); /* System.out.println("标题:" + entry.getTitle()); System.out.println("连接地址:" + entry.getLink()); SyndContent description = entry.getDescription(); System.out.println("标题简介:" + description.getValue()); System.out.println("发布时间:" + entry.getPublishedDate()); // 以下是Rss源可先的几个部分 System.out.println("标题的作者:" + entry.getAuthor()); */ ci.adp.DataRow rssRow = rssTable.getDataRowByIndex(index); rssRow.setValue("TITLE", entry.getTitle()); rssRow.setValue("LINK", entry.getLink()); rssRow.setValue("PUBDATE", entry.getPublishedDate()); rssRow.setValue("SOURCE", entry.getAuthor()); /* // 此标题所属的范畴 List categoryList = entry.getCategories(); if (categoryList != null) { for (int m = 0; m < categoryList.size(); m++) { SyndCategory category = (SyndCategory) categoryList .get(m); System.out.println("此标题所属的范畴:" + category.getName()); } } */ index++; /* // 得到流媒体播放文件的信息列表 List enclosureList = entry.getEnclosures(); if (enclosureList != null) { for (int n = 0; n < enclosureList.size(); n++) { SyndEnclosure enclosure = (SyndEnclosure) enclosureList .get(n); System.out.println("流媒体播放文件:" + entry.getEnclosures()); } } */ } } catch (Exception e) { e.printStackTrace(); }

org.dom4j.io.SAXReader saxReader = new org.dom4j.io.SAXReader();org.dom4j.Document document = saxReader.read(rssUrl);org.dom4j.Element channel = (org.dom4j.Element) document.getRootElement().element("channel"); int index =0; for (java.util.Iterator i = channel.elementIterator("item"); i.hasNext();){ if(index+1>rssTable.Rows.length){ break; } org.dom4j.Element element = (org.dom4j.Element) i.next(); String title = element.elementText("title"); String link = element.elementText("link"); String pubDate = element.elementText("pubDate"); String source = element.elementText("source"); ci.adp.DataRow rssRow = rssTable.getDataRowByIndex(index); rssRow.setValue("TITLE", title); rssRow.setValue("LINK", link); rssRow.setValue("PUBDATE", pubDate); rssRow.setValue("SOURCE", source); /* System.out.println("title标题: " + title); System.out.println("link链接: " + link); System.out.println("pubDate发布时间: " +pubDate); System.out.println("source来源: " + source); */ index++; }

更多相关文章

  1. Windows下给予Nginx构建流媒体推拉流测试环境
  2. 监控流媒体服务器连接监控摄像头的配置方式 - GB28181和ONVIF
  3. 起个简单枯燥的标题:找出连续差相同的数字
  4. 监控流媒体服务器的搭建和使用
  5. 无标题文章
  6. 更改粘性标题航点或偏移的位置。
  7. 如何删除图例饼图中的标题?
  8. 克隆文本并插入壁橱标题范围
  9. 9.1.4 前端 - HTML body标签 - 标题,段落,分割线,换行,特殊符号,列

随机推荐

  1. Linux 查询文件内容重复数 uniq
  2. ARMv8(aarch64)页表建立过程详细分析
  3. linux下打乱txt文件的行序
  4. 关于主机远程唤醒(WOL,Wake on Lan)的几种
  5. qte4.8.5配置和移植
  6. Linux Device和Driver注册过程,以及Probe
  7. MySQL备份与还原(一)
  8. Linux安装SVN服务器
  9. linux文件目录权限和系统基础优化命令
  10. 如何卸载内核代码中的文件系统