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(); }
After struggling all morning, I finally figured it out in another way.
The above dom4j method works fine in my local environment (windows+weblogic10+jdk1.6),
put it on the server (linux5.4 x64+weblogic10 +jdk1.6), this error is always reported:
[oracle@ablw010215 bin]$ Warning: Caught exception attempting to use SAX to load a SAX XMLReader Warning: Exception was: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration Warning: I will print the stack trace then carry on using the default SAX parser java.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)
在weblogic Adding configuration files to .xml, adding lib packages, etc. will not work. Just replace it with this one (it depends on the lib in the resources I uploaded, completely free):
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++; }
The above is the detailed content of Summary of parsing RSS issues. For more information, please follow other related articles on the PHP Chinese website!

RSS is an XML-based format used to publish and subscribe to content. The XML structure of an RSS file includes a root element, an element, and multiple elements, each representing a content entry. Read and parse RSS files through XML parser, and users can subscribe and get the latest content.

XML has the advantages of structured data, scalability, cross-platform compatibility and parsing verification in RSS. 1) Structured data ensures consistency and reliability of content; 2) Scalability allows the addition of custom tags to suit content needs; 3) Cross-platform compatibility makes it work seamlessly on different devices; 4) Analytical and verification tools ensure the quality and integrity of the feed.

The implementation of RSS in XML is to organize content through a structured XML format. 1) RSS uses XML as the data exchange format, including elements such as channel information and project list. 2) When generating RSS files, content must be organized according to specifications and published to the server for subscription. 3) RSS files can be subscribed through a reader or plug-in to automatically update the content.

Advanced features of RSS include content namespaces, extension modules, and conditional subscriptions. 1) Content namespace extends RSS functionality, 2) Extended modules such as DublinCore or iTunes to add metadata, 3) Conditional subscription filters entries based on specific conditions. These functions are implemented by adding XML elements and attributes to improve information acquisition efficiency.

RSSfeedsuseXMLtostructurecontentupdates.1)XMLprovidesahierarchicalstructurefordata.2)Theelementdefinesthefeed'sidentityandcontainselements.3)elementsrepresentindividualcontentpieces.4)RSSisextensible,allowingcustomelements.5)Bestpracticesincludeusing

RSS and XML are tools for web content management. RSS is used to publish and subscribe to content, and XML is used to store and transfer data. They work with content publishing, subscriptions, and update push. Examples of usage include RSS publishing blog posts and XML storing book information.

RSS documents are XML-based structured files used to publish and subscribe to frequently updated content. Its main functions include: 1) automated content updates, 2) content aggregation, and 3) improving browsing efficiency. Through RSSfeed, users can subscribe and get the latest information from different sources in a timely manner.

The XML structure of RSS includes: 1. XML declaration and RSS version, 2. Channel (Channel), 3. Item. These parts form the basis of RSS files, allowing users to obtain and process content information by parsing XML data.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Atom editor mac version download
The most popular open source editor

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver CS6
Visual web development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!
