我尝试实现一个Web界面,您可以在其中上传xml文件,稍后将对其进行分析以从中创建数据库。我正在使用play framework 2.5.x
所以我通过上传获取文件:
<form action="target" method="post" enctype="multipart/form-data">
<input type="file" name="xml" accept="text/xml"/>
<button type="submit"> Los! </input>
</form>
&#13;
在我的控制器中,我从请求中获取文件,然后尝试将其解析为Document变量(org.w3c.dom.Document),如下所示:
MultipartFormData<File> body = request().body().asMultipartFormData();
FilePart<File> part = body.getFile("xml");
File f = part.getFile();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document dom = dBuilder.parse(f);
即使我尝试上传的XML文件有
encoding="UTF-8"
设置,我收到错误消息:
Invalid byte 2 of 4-byte UTF-8 sequence.
有没有人知道为什么会这样,以及我如何解决这个问题(或者我的方法是否愚蠢)?
由于