所以这是我的功能:
public void writeUserToFile() {
File newXmlFile = new File("res\\SavedShoppers.xml");
try {
ArrayList<User> oldUsers = null;
if(newXmlFile.length() > 0){
oldUsers = buildUsersFromFile(); // get old users
// remove current user from old users list to eliminate duplicates
for (int i = 0; i < oldUsers.size(); i++) {
if (oldUsers.get(i).equals(this))
oldUsers.remove(i);
}
}
OutputStream outputStream = new FileOutputStream(newXmlFile);
XMLStreamWriter out = XMLOutputFactory.newInstance()
.createXMLStreamWriter(
new OutputStreamWriter(outputStream, "utf-8"));
out.writeStartDocument();
out.writeStartElement("user");
out.writeAttribute("userId", String.valueOf(getUserId()));
out.writeAttribute("name", getName());
for (ShoppingList sl : getShoppingLists()) {
out.writeStartElement("shoppingList");
out.writeAttribute("name", sl.getName());
for (ListItem li : sl.getItems()) {
out.writeStartElement("listItem");
out.writeAttribute("name", li.getName());
out.writeAttribute("quantity",
String.valueOf(li.getQuantity()));
out.writeEndElement();
}
out.writeEndElement(); // shoppingList
}
out.writeEndElement(); // user
out.writeEndDocument();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
所以我想要完成的是将用户保存到XML文件以便稍后撤出。这是一个非常简单的购物清单应用程序,可以在您购物时创建购物车,以帮助您随时完成购买。这是我得到的错误:
java.lang.NoClassDefFoundError:javax/xml/stream/XMLOutputFactory
我调试时正在这一行:
XMLStreamWriter out = XMLOutputFactory.newInstance().createXMLStreamWriter(new OutputStreamWriter(outputStrem, "utf-8"))
而且我不确定我做错了什么......我已经做了几天了,所以我没有想法......任何帮助或方向都会很棒!
谢谢! 乔恩
答案 0 :(得分:0)
这是在我的构建路径中。我正在使用jre7并且在我的构建路径中有这个,但是我的构建路径中也有jer5所以java在那里寻找它而不是7 ...并且该类在5中不存在..因此NoClassDefFound错误! :) 好极了。由于没有人回复,我认为这不是一个常见的问题,所以我希望将来有人能够在找到同样的错误时找到这个帖子!