我在尝试获取KML标记的值时遇到了困难,“href”。文件中有大约200条记录,我几乎可以获得所有记录,但是有一些记录被删除了。
KML示例:
<Style id="style104">
<IconStyle>
<Icon>
<href>http://www.xxx/yyy/zzz/mmm.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="style180">
<IconStyle>
<Icon>
<href>http://www.xxx/yyy/zzz/sss.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="style121">
<IconStyle>
<Icon>
<href>http://www.xxx/yyy/qqq.png</href>
</Icon>
</IconStyle>
</Style>
这是我的代码中的字符():
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
elementValue = new String(ch, start, length).trim();
}
在调试时,我可以看到第一个和最后一个样式,我得到了开始和长度正确的值,但是第二个样式我的长度更短:
**style104**:
start 0
length X
elementValue = http://www.xxx/yyy/zzz/mmm.png
OK
**style121**:
start 0
length Y
elementValue = http://www.xxx/yyy/zzz/mmm.png
OK
**style180**:
start 0
length 8
elementValue = http://w
NOK
所以,我的问题是,如果有人发现使用SAX进行KML解析时遇到类似的问题,或者有人知道characters()如何获得标签的值?我没有想法,任何帮助都会被贬低。
谢谢你们!