Я пытаюсь проанализировать RSS-канал, и когда я читаю данные, я возвращаю буквальные URL-адреса пространства имен вместо значений.
public void readRss() {
try {
URL url = new URL("http://olemisssports.com/calendar.ashx/calendar.rss?sport_id=0");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept","application/xml + rss");
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)");
SyndFeedInput input = new SyndFeedInput();
XmlStreamReader xmlStReader = new XmlStreamReader(conn.getInputStream());
SyndFeed feed = input.build(xmlStReader);
for (Iterator iterator = feed.getEntries().iterator(); iterator.hasNext();) {
ArrayList fields = (ArrayList) syndEntry.getForeignMarkup();
for (int i = 0; i < fields.size(); i++) {
System.out.println("field: " + fields.get(i));
}
}
}
И возвращаемые значения выглядят следующим образом ..
field: [Element: <ev:location [Namespace: http://purl.org/rss/1.0/modules/event/]/>]
field: [Element: <ev:startdate [Namespace: http://purl.org/rss/1.0/modules/event/]/>]
field: [Element: <ev:enddate [Namespace: http://purl.org/rss/1.0/modules/event/]/>]
field: [Element: <s:localstartdate [Namespace: http://sidearmsports.com/schemas/cal_rss/1.0/]/>]
field: [Element: <s:localenddate [Namespace: http://sidearmsports.com/schemas/cal_rss/1.0/]/>]
Фактические данные, с другой стороны, выглядят как ..
<ev:location>Oxford, Miss.</ev:location>
<ev:startdate>2019-05-11T23:00:00.0000000Z</ev:startdate>
<ev:enddate>2019-05-12T02:00:00.0000000Z</ev:enddate>
<s:localstartdate>2019-05-11T18:00:00.0000000</s:localstartdate>
<s:localenddate>2019-05-11T21:00:00.0000000</s:localenddate>
Мне интересно, почему я возвращаю эти URI пространства имен вместо литеральных значений, что мне нужно делать по-другому в моем коде?