私は以前に実装したフィード リストに誰かが追加した RSS フィードのリストを返す RESTful Web サービスに取り組んでいます。
ここで、TEXT_PLAIN応答を返すと、これはブラウザーに問題なく表示されますが、 APPLICATION_XML応答を返そうとすると、次のエラーが表示されます。
XML 解析エラー: ドキュメント要素の後のジャンク 場所: http:// localhost:8080/Assignment1/api/feedlist 行番号 1、列 135: SMH トップ ヘッドラインhttp://feeds.smh.com.au/rssheadlines/top.xmlUTS ライブラリニュースhttp://www.lib.uts.edu.au/news/feed/all
コードは次のとおりです-整形式のXMLページが返されない理由がわかりません(XML応答を改行とスペース(インデント)でフォーマットしようとしました-もちろん、これは機能しませんでした):
package au.com.rest;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.ws.rs.*;
import javax.ws.rs.core.*;
import au.edu.uts.it.wsd.*;
@Path("/feedlist")
public class RESTFeedService {
String feedFile = "/tmp/feeds.txt";
String textReply = "";
String xmlReply = "<?xml version=\"1.0\"?><feeds>";
FeedList feedList = new FeedListImpl();
@GET
@Produces(MediaType.APPLICATION_XML)
public String showXmlFeeds() throws FileNotFoundException, IOException
{
feedList.load(feedFile);
for (Feed f:feedList.list()){
xmlReply += "<feed><name>" + f.getName() + "</name>";
xmlReply += "<uri>" + f.getURI() + "</uri></feed></feeds>";
}
return xmlReply;
}
}