繁体   English   中英

如何从 Java 中的 xml 文件中提取大量字符

[英]How to extract a big list of characters from xml file in Java

我有一个大的 xml 文件,我不想解析它,我只想存储<information>...</information>之间的每个字符,它们是 xml 文件中的标签。

我怎样才能做到这一点?

如果问题是您尝试提取的数据适合 memory,但整个 XML 文件不适合,则使用流式解析器,例如XPP

如果不解析文件,您将无法准确找到<information>元素中的字符。 你可以做一些在 99% 的时间里都有效的事情,但是当有人做了你没想到的事情时它会中断,比如在开始标签中放置空格,或者有一个注释掉的<information>元素,或者把部分外部实体中的<information>元素。

硬着头皮。 如果是 XML,则需要 XML 解析器来读取它。

您可能想解释为什么您不想解析它,因为这将有助于建议其他解决方案。

话虽如此,如果您可以为该节点构建 XPath,您始终可以使用 XPath 获取该信息。 请参阅本教程

更新

鉴于新信息,这不是您想要的解决方案。 如果您想将 xml 视为字符串,则将其读入 StringBuilder(StringBuffer 的更快、线程不安全的版本)是您最好的选择。 如果您在使用 StringBuffer 时遇到问题,请发布您尝试过的代码和错误消息。 它的最大尺寸是java.lang.Integer.MAX_VALUE ,即 2147483647。

考虑到您不想使用解析器并且只想提取两个标签之间的所有字符,我宁愿建议您将 xml 内容提取为字符串,并使用简单的正则表达式匹配来提取两个标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM