使用兼容解析器JAK解析由Google Earth生成的KML时存在一些奇怪的行为。解析器预期的名称空间不会被GE Kml生产系统编写为正确的名称空间,并且在将该KML读回另一个Java应用程序验证失败时。消毒KML Stream以更改xml命名空间
我们在读取流时正在摆弄流,并用适当的名称空间替换任何其他名称空间的出现。这只需要在文件开头附近完成一次。尝试的方法是将前几行解析为一个字符串,执行搜索和替换,创建字符串流,并使用SequenceInputStream将FileInputStream的“休息”连接到StringStream。但是这不起作用。任何想法将不胜感激。
这里是什么KML的xmlns片段开头:
<code>
<kml xmlns="http://earth.google.com/kml/2.2">
</code>
这里是我们想要替换:
<code>
<kml xmlns="http://www.opengis.net/kml/2.2">
</code>
顺序流返回一个错误的可用值(仅适用于序列中的第一个流)导致解析器失败。
没有足够的信息。您正在处理的内容和您期望的内容会非常有用。还有一个解释是“不起作用”(异常,错误信息,输出错误等) – 2009-10-08 17:55:29