java - 在大型 XML 文档的单次迭代中生成两个列表

标签 java xml list loops return

给定一个 ID 列表,我需要迭代一个大型 OSM(开放街道 map )文件 ( example ),并收集相应节点的两种不同类型的信息:坐标和用户名(一旦我提取它们,它们的关联并不重要 - 即我不需要知道哪个用户对应于哪个坐标)

也就是说,我需要检查文件中的每个节点,看看它们是否与给定列表中的 ID 之一匹配,如果匹配,我想保留坐标(纬度和经度)和用户信息(贡献节点的人)并返回数据。

在 Java 中,我无法在单个方法中返回两个单独的列表。在没有约束的世界中,我会迭代文档两次 - 第一次获取坐标数据,第二次获取用户数据。 然而,在这种情况下这是不切实际的,因为我正在处理的 OSM 文件可能很大 - 通常有千兆字节!

所以我的问题是,迭代一次但生成要提取的多个数据列表的最佳方法是什么?

最佳答案

返回对象列表,其中每个对象包含坐标和用户名。您可以根据需要多次迭代对象的响应列表,或者一次性检索列表中的对象所需的数据。

关于java - 在大型 XML 文档的单次迭代中生成两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045859/

相关文章:

java - 抽象方法中应该有哪些参数

java - For 循环接受额外的数组成员

java - 导入javax.xml.xpath无法解析

php - 将 XML 数据加载到 MYSQL(MYSQL 版本 5.1)

python - Python 中唯一的对象列表不起作用

python - 在python中生成函数列表

list - F# 树叶列表与连续尾递归

java - 字符串 [] 值与字符串值 []

java - 使用 Java 和 Marklogic 转义 XML

java - 为什么我坚持了却没有任何反应?