【问题标题】:Dealing with specific lines when parsing XML docs in Java在 Java 中解析 XML 文档时处理特定的行
【发布时间】:2014-02-03 22:16:21
【问题描述】:

我有一个来自维基词典的巨大 xml 文件,我需要为一个类项目解析它。我只需要从一组 200 行中提取数据,这些行从第 395,000 行开始。我将如何只扫描那少量的行?行号是否有某种内置属性?

【问题讨论】:

  • XML 语义不包括文本行的概念,只包括元素和元素内容(文本字符串)。如果您必须在 Java 中执行此操作,最简单的方法是使用内置的 SAX 事件驱动解析器。您将输入作为元素开始/结束事件和文本节点的流处理,因此您可以快速阅读输入流并找到需要处理的内容。

标签: java xml parsing wiki


【解决方案1】:

如果行边界在您的数据中很重要,那么它就不是真正的 XML。接受它的本来面目,一个面向行的文件,并首先使用面向行的文本工具对其进行处理。使用这些来提取 XML(如果可以的话),然后将此 XML 传递给 XML 解析器。

【讨论】:

    【解决方案2】:

    行号没有内置属性。

    如果您想以编程方式查看第 395,000 到 395,200 行的所有数据,可以通过计算换行符来实现。

    文件中的每一行都以换行符 ("\n") 结束,因此您可以计算其中的 349,999 个,然后查看数据,直到看到另外 200 个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      • 2013-10-04
      • 2014-01-11
      • 2015-05-23
      • 1970-01-01
      相关资源
      最近更新 更多