Emacs使用大型XML文件

时间:2009-05-04 12:01:00

标签: emacs elisp

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

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:6)

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

  • 让您的Java应用程序将XML文档作为一组线程文章呈现在组中;让它说NNTP并使用Gnus,或者提出自己的协议并为它编写一个Gnus后端(请参阅Web-browsing backends获取灵感)
  • 将XML文档视为Lisp程序(S表达式,XML元素,有什么区别?)并在Emacs中编写与Swank backend通信的SLIME,然后使用SLIME命令提出疑问
  • 编写FUSE驱动程序,以便将XML文档作为文件系统挂载,并使用Dired进行探索。