如何优雅地解析org-element的org-mode

net*_*ter 9 emacs parsing org-mode

org-element是一个新的模块org-mode,我认为这对解析org文件很好,并且不想用旧方法用match-string解析它.但玩了几个小时之后,我不得不承认我没有足够的org-mode经验,所以主人能给我一些线索,非常感谢!

我的要求很简单,我希望得到所有标题和内容.

* headline

:PROPERTIES

** subheadline

content1

** subheadline

content2
Run Code Online (Sandbox Code Playgroud)

net*_*ter 9

根据@ YoungFrog的提示:

  • 得到所有头条新闻:

    (let ((parsetree (org-element-parse-buffer 'headline))) 
      (org-element-map parsetree 'headline 
                       (lambda (hl) (org-element-property :title hl)))) 
    
    Run Code Online (Sandbox Code Playgroud)
  • 获取所有内容:

    (let ((parsetree (org-element-parse-buffer 'paragraph)))
      (org-element-map parsetree 'paragraph 
                       (lambda (hl) (org-element-interpret-data hl))))
    
    Run Code Online (Sandbox Code Playgroud)