我们有来自一个 Web 服务的非常长的 XMLResponse,并且我们希望优化解析此 XMLResponse 的时间,因此策略是逐行解析 XMLResponse,直到我们从 XMLResponse => 强制元素中获得所需的内容
我们知道强制元素,也知道 XMLResponse 是有效的 XML 对象,因此我们可以在到达结尾之前停止读取字符串。
所以请大家:有哪些工具可以帮助我们做到这一点?
提前谢谢您...
使用 Stax api 可能是解析 xml 最有效的方法,因为调用代码完全受控,并且可以跳过不需要的整个元素子树。
有一个关于这种方法的很好的教程:https://medium.com/tech-travelstart/efficient-xml-parsing-with-java-df3169e1766b
我不建议手动解析 XML。您要么准确地解析它(这与使用解析器解析它一样耗时),要么冒着错误的风险进行解析。
如果您需要性能,可以使用 SAX 解析器,它会变得更复杂,但速度尽可能快。