gpt4 book ai didi

java - Android:分割非常大的字符串

转载 作者:行者123 更新时间:2023-12-01 12:20:03 25 4
gpt4 key购买 nike

我有以下 XML SAX 处理程序:

private class GetXML_Handler extends DefaultHandler {
int x = 0;
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
Log.i("DataHandler", "Start of XML element");
int y = 0;
if (qName.equals("polygon")) {
locations.add(x, new ArrayList<location>());
String coordinates = attributes.getValue("coordinates");
String[] parts = coordinates.split(",");
System.out.println("Cyklus zacaty");
locations.get(x).add(y, new location(Double.parseDouble(parts[0]), Double.parseDouble(parts[1])));
for(int i = 2; i <= parts.length; i = i + 2){
y++;
double Latitude = Double.parseDouble(parts[i].substring(2));
double Longitude = Double.parseDouble(parts[i+1]);
locations.get(x).add(y, new location(Latitude, Longitude));
}
System.out.println("cyklus skonceny");
x++;
}
}
}

然而“cyklus zacaty”永远不会被打印出来。如果我将其移到 String[] parts = Cocoles.split(",") 之前,它会打印正常。这些字符串非常大(例如 350 个 GPS 坐标),因此 java 是否有可能无法处理它并停止(无一异常(exception))。

此外,我的“XML 元素的开头”仅打印 5 次(直到第一个坐标),但如果我删除此 split 方法,它将打印 28 次(我的 XML 元素的数量)。我确信我的 XML 处理程序可以正常工作(它只是关于那些字符串的一些事情)。

XML的结构是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<oblasti>
<oblast>
<nazovOblasti>VT</nazovOblasti>
<polygon>
<coordinates>
132456,4658789,0 56487,4864684
</coordinates>
</polygon>
....

有什么建议吗?

感谢转发

最佳答案

Attributes 参数不包含节点的子元素,仅包含分配给节点的属性(如果有)。因此,attributes.getValue("coordinates") 没有按照您的预期进行。

关于java - Android:分割非常大的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26731670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com