我的代码是将RSS feeds添加到列表中 - 并且代码最初只是从列表中的第一个位置拉出一个feed,然后添加这个对象到另一个列表。JAVA-如何从for循环访问FOR循环中的变量
这是原代码:
public static List<Feed> getFeedsFromXml(String xml) {
Pattern feedPattern = Pattern.compile("<feed>\\s*<name>\\s*([^<]*)</name>\\s*<uri>\\s*([^<]*)</uri>\\s*</feed>");
Matcher feedMatch = feedPattern.matcher(xml);
while (feedMatch.find()) {
String feedName = feedMatch.group(1);
String feedURI = feedMatch.group(2);
feeds.add(new Feed(feedName, feedURI));
}
return feeds;
}
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public String addXmlFeed() throws IOException
{
int i = 0;
String stringXml = "<feed><name>SMH Top Headlines</name><uri>http://feeds.smh.com.au/rssheadlines/top.xml</uri></feed><feed><name>UTS Library News</name>";
getFeedsFromXml(stringXml);
Feed f = (Feed) feeds.get(0);
feedList.add(f);
String handler = "You have successfully added: \n";
String xmlStringReply = "" + f + "\n";
feedList.save(feedFile);
return handler + xmlStringReply;
}
一切都进行得很好,然后我决定实现一个for循环处理一个以上饲料的添加到列表中,我尝试了以下(
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public String addXmlFeed() throws IOException
{
int i = 0;
String stringXml = "<feed><name>SMH Top Headlines</name><uri>http://feeds.smh.com.au/rssheadlines/top.xml</uri></feed><feed><name>UTS Library News</name>";
getFeedsFromXml(stringXml);
for (Feed feed: feeds)
{
Feed f = (Feed) feeds.get(i++);
feedList.add(f);
String handler = "You have successfully added: \n";
String xmlStringReply = "" + f + "\n";
}
feedList.save(feedFile);
return handler + xmlStringReply;
}
现在,我敢肯定,这是一个基本的问题,但现在在该行:
return handler + xmlStringReply;
只对有问题的第二种方法)的代码3210
handler
和xmlStringReply
无法解析为变量,因为它们在FOR LOOP内。
有没有简单的解决方法呢?
请注意,您可能不想覆盖这些值,但会将一些信息附加到字符串中。 –
@StefanNeubert好点 - 我错过了'+'的缺席。 – assylias
Downvoter关心评论? – assylias