我现在正在学习口齿不清,我有一个快速的问题使用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/