我使用Jersey构建REST服务并希望将List作为XML返回。 我不知道这个错误来自哪里,对这些人有任何想法吗?
public class ProduitImportXml {
public static List<Produit> getProduits() {
List<Produit> produitsList = new ArrayList<Produit>();
try {
File inputFile = new File("ProduitData.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("produits");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element el = (Element) nNode;
NodeList childNodes = el.getChildNodes();
for (int j = 0,len = nList.getLength();j<len; j++) {
Produit p=new Produit(
el.getElementsByTagName("idProduit").item(j).getTextContent(),
produitsList.add(p);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return produitsList;
}
我收到了以下控制台消息:
MessageBodyWriter not found for media type=application/xml, type=class java.util.ArrayList, genericType=java.util.List