【发布时间】:2015-07-15 12:18:43
【问题描述】:
(defun save-interface-file ()
(interactive)
(let* ((xml (buffer-string))
(root (with-temp-buffer (insert xml) (xml-parse-region (point-min) (point-max))))
(request (car root))
(nodename (xml-node-name request))
(CustomerAgencyDataLoad "CALI")
)
(message "%s.CRM66898.VZCRMCAR%s.%s" (number-to-string (random 100000000)) (derefernce nodename) (number-to-string (random 100000)) )
)
)
我在我的 emacs.init 文件中定义了上述函数 我打开一个包含 xml 的缓冲区并输入
M-x save-interface-file
发生的情况是变量节点名称将包含值“CustomerAgencyDataLoad”。在消息中,我想从节点名中取消引用它并打印“CALI”。如果我打印节点名,我会得到“CustomerAgencyDataLoad”。我知道这种取消引用在 perl 中使用 $$var 有效,但是如何在 emacs LISP 中实现这一点?
【问题讨论】: