2013-06-20 29 views
8

org-element là một mô-đun mới cho org-mode, tôi nghĩ rằng nó tốt cho phân tích cú pháp tệp org và không muốn phân tích cú pháp theo cách cũ với chuỗi khớp. nhưng sau khi chơi với nó trong một vài giờ, tôi phải thừa nhận rằng tôi không có đủ kinh nghiệm với chế độ org, vì vậy các bậc thầy có thể cho tôi một số manh mối, cảm ơn rất nhiều!Cách phân tích cú pháp chế độ org theo thành phần org

Yêu cầu của tôi rất đơn giản, tôi muốn nhận được tất cả các dòng tiêu đề và nội dung.

* headline 

:PROPERTIES 

** subheadline 

content1 

** subheadline 

content2 
+4

t là gì ông yêu cầu trong thực tế? giống như (let ((tiêu đề phân tích cú pháp (org-phần tử phân tích cú pháp-đệm))) (tiêu đề org-element-map parsetree 'tiêu đề (lambda (hl) (org-element-property: title hl))))) sẽ giúp bạn có được tiêu đề cho tất cả các tiêu đề. – YoungFrog

+0

cảm ơn, sau đó làm cách nào để lấy nội dung của một dòng tiêu đề? – netawater

+2

Yêu cầu vẫn chưa hoàn toàn rõ ràng đối với tôi. Giả sử bạn có các khối mã trong tài liệu của mình, đó có phải là một phần của nội dung không? những gì về bàn? Nó cũng có thể là những gì bạn muốn chỉ đơn giản là một nước xuất khẩu org-to-text. – YoungFrog

Trả lời

7

dựa trên @ YoungFrog của dấu nhắc:

  • nhận được tất cả các tiêu đề:

    (let ((parsetree (org-element-parse-buffer 'headline))) 
        (org-element-map parsetree 'headline 
            (lambda (hl) (org-element-property :title hl)))) 
    
  • nhận được tất cả các nội dung:

    (let ((parsetree (org-element-parse-buffer 'paragraph))) 
        (org-element-map parsetree 'paragraph 
            (lambda (hl) (org-element-interpret-data hl)))) 
    
Các vấn đề liên quan