代码之家  ›  专栏  ›  技术社区  ›  Oleg Pavliv

Emacs处理大型XML文件

  •  2
  • Oleg Pavliv  · 技术社区  · 17 年前

    通常我需要读取大型XML文件(>100MB),这些文件具有相当简单的结构。我想使用emacs,但它不支持大文件。我想也许我可以使用Java应用程序,它可以为我做SAX或StAX解析,并为我提供所有必要的操作(例如搜索)。Emacs和外部Java应用程序之间通信的“正确方式”是什么?

    2 回复  |  直到 15 年前
        1
  •  6
  •   Jouni K. Seppänen    17 年前

    我认为没有一个“正确的方法”,但这里有一些想法:

    • 让Java应用程序将XML文档作为成组的线程文章呈现出来; NNTP 并使用GNUS,或者想出自己的协议并为其编写GNUS后端(请参见 Web-browsing backends 为了灵感)
    • 把XML文档想象成一个lisp程序(s-expressions,xml元素,有什么区别?)然后写一个 Swank backend 与…沟通 SLIME 在emacs中,然后使用slime命令进行查询
    • 写一篇 FUSE 驱动程序,以便将XML文档作为文件系统装载并使用 Dired 探索它。
        2
  •  7
  •   Hamza Yerlikaya    17 年前

    您可以尝试禁用该特定缓冲区的字体锁定模式。我打开的文件比用emacs打开的要大得多。我注意到只有当文件中的行大于我的屏幕并且它们开始换行时才会减速。让它们离开屏幕并禁用字体锁定可以加速性能。