我正在尝试处理我从网上下载的产品数据提要,下载完成如下:
URL website = new URL("http://some.products.com/format/xml/compression/gzip/");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("/opt/some/file.xml.gz");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
当它保存在文件系统上'
并且文件类型似乎是 ansii.
当我用这样的流处理器读取文件时:
GZIPInputStream gzis = new GZIPInputStream(new FileInputStream("/opt/some/file.xml.gz"));
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
XMLEventReader eventReader = inputFactory.createXMLEventReader(gzis);
while (eventReader.hasNext()) {
XMLEvent event = eventReader.nextEvent();
...
}
一路上的某个地方,部分文本被解码,因为它最终像这样'
那就是转义的&符号未转义,但是似乎没有处理转义的第二级。我不能锻炼我应该如何或在哪里处理它。我应该在读取文件时尝试解码它吗?还是我应该在解析 xml 之后这样做?
编辑:我应该注意这些字符出现在文本字段中,而不是 url。