尝试解析从ftp下载的xml文件时出现XMLStreamException

时间:2012-07-12 18:40:04

标签: java xml ftp

我正在从ftp下载文件,将其保存到我的本地文件系统,然后使用createXMLStreamReader读取它。当我尝试解析它时,我收到此错误:javax.xml.stream.XMLStreamException: ParseError at [row,col]:[124,316]。当我手动将其复制并粘贴到另一个文件时,一切正常。我尝试使用this复制文件,文件被复制但我仍然得到相同的错误。我确实知道这是由于<xml节点之前的二进制字符引起的,但我不确定如何摆脱它们。

我无法控制从ftp复制的内容,而我正在使用java 1.7

我的检索文件的代码:

client.connect("ftp.domain.com");
client.login("user", "password");

String filename = assetsPath + "/ftpExport.xml";
fos = new FileOutputStream(filename);
client.retrieveFile("/Export.xml", fos);

我创建StreamReader的代码:

inputFactory = XMLInputFactory.newInstance();
File f = new File(Parser.class.getProtectionDomain().getCodeSource().getLocation().getPath());
assetsPath = f.toString()+"/../assets";
xmlReader = inputFactory.createXMLStreamReader(
    new FileReader(assetsPath + "/Export.xml"));

1 个答案:

答案 0 :(得分:3)

不要使用FileReader来读取xml,因为这会破坏xml。使用FileInputStream。