我从学校的班车跟踪服务器获取了一个包含班车路线和位置的 KML 文件。我想在我的 Android 应用程序中解析这个 KML,但是当我将文件传递到 VTD-XML 2.9 解析器时,它失败了,告诉我 XML 没有正确终止。我通过模式验证器运行文件,虽然它不符合KML 2.1 模式(不喜欢文件夹元素),但它的格式正确。
我认为该文档没有任何其他问题,但我也看不出我的代码可能存在问题:
byte[] doc = new byte[32000];
URL url = new URL("http://shuttles.rpi.edu/displays/netlink.kml");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream is = conn.getInputStream();
is.read(doc);
VTDGen vg = new VTDGen();
vg.setDoc(doc);
vg.parse(true);