Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

JAVA package algs54; import java.io.*; import java.net.*; import java.util.*; import java.util.regex.*; import stdlib.*; // Create an RSS feed reader that uses Regular Expressions // to

JAVA

package algs54; import java.io.*; import java.net.*; import java.util.*; import java.util.regex.*; import stdlib.*;

// Create an RSS feed reader that uses Regular Expressions // to extract each item and relevant data in the given feed. // You may only use regular expressions to extract the data.

public class hw8 { public class RSSItem { public String title; public String description; public String link; public String date;

public RSSItem(String link, String title, String desc, String date) { this.link = link; this.title = title; this.description = desc; this.date = date; }; public String toString() { return "Title: " + title + " " + "Link: " + link + " " + "PubDate: " + date + " " + "Description: " + description + " "; } }

public static String URLReader(URL url) throws IOException { String content; try (Scanner scanner = new Scanner(url.openStream(), String.valueOf("UTF-8"))) { content = scanner.useDelimiter("\\A").next(); } return content; }

public static ArrayList ProcessRSSFeed(String feed) { // TODO // Extract all RSS items from the feed. In general, RSS feeds are in XML format, where // each item and property is encapsulated within open/close tags: ... // For each RSS item, you will need to extract the title, description, pubDate, and link. // For the description, you must capture only the text and remove the any CDATA or HTML // tags from the description.

// HINT: removing new lines & whitespaces may be helpful, for example: // Pattern p = Pattern.compile("[ \t ]+", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); // feed = p.matcher(feed).replaceAll(" "); // Uncomment to print the feed for debugging System.out.println(feed); ArrayList rss_items = new ArrayList<>(); // Adding a new RSS Item: // rss_items.add( new hw8().new RSSItem(link, title, description, date) );

return rss_items; }

public static void main(String[] args) { try { String rss = URLReader(new URL("https://www.rollingstone.com/feed/")); ArrayList items = ProcessRSSFeed(rss); for (int i = 0; i < items.size(); i++) { System.out.println(items.get(i).toString()); } } catch(IOException e) {} } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Records And Database Management

Authors: Jeffrey R Stewart Ed D, Judith S Greene, Judith A Hickey

4th Edition

0070614741, 9780070614741

More Books

Students also viewed these Databases questions