我现在正在学习口齿不清,我有一个快速的问题使用cxml,我可以很容易地解析一个本地文件,但我正试图从网络中提取一个xml文件并在内存中解析它。我知道我的代码有问题,但我不太明白。

(cxml:parse-file (map 'string #'code-char
                   (drakma:http-request "http://api.eve-online.com/server/ServerStatus.xml.aspx"))
   (cxml-dom:make-dom-builder))

最佳答案

(cxml:parse (map 'string #'code-char (drakma:http-request "http://api.eve-online.com/server/ServerStatus.xml.aspx"))
                                     (cxml-dom:make-dom-builder))

结果:
#<RUNE-DOM::DOCUMENT {1005BECB53}>

cxml:parse是根据示例正确理解的命令cxml:pars-stream需要流,cxml:parse-file需要文件你两个都不给,你传递给他们的参数是一个字符串。
cxml:parse-rod更具体,只解析字符串,而cxml:parse是通用的,将解析文件、流、八位字节和字符串。
顺便说一下,你也可以
(cxml:parse-octets (drakma:http-request "http://api.eve-online.com/server/ServerStatus.xml.aspx") (cxml-dom:make-dom-builder))

不需要将二进制数组从drakma转换为字符串。

关于xml - LISP下载和解析XML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12255437/

10-09 02:29