gpt4 book ai didi

xml - Lisp 数据格式化为 xml

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:50 25 4
gpt4 key购买 nike

我是 lisp 的新手,我似乎找不到任何关于如何将 txt 文件中读取的单词格式化为 xml 的示例。

例子:

tag1
tag2 word2
tag1 word3
tag1 word4

我想要退出文件:.xml

<tag1>
<tag2>word2</tag2>
</tag1>
<tag1>word3</tag1>
<tag1>word4</tag1>

或类似的东西。

最佳答案

使用 CXML 和 SPLIT-SEQUENCE 库,您可以这样做:

(defun write-xml (input-stream output-stream)
(cxml:with-xml-output
(cxml:make-character-stream-sink output-stream
:indentation 2 :canonical nil)
(loop :for line := (read-line input-stream nil) :while line :do
(destructuring-bind (tag &optional text)
(split-sequence:split-sequence #\Space line)
(cxml:with-element tag
(when text
(cxml:text text)))))))

结果会略有不同:

CL-USER> (with-input-from-string (in "tag1
tag2 word2
tag1 word3
tag1 word4")
(write-xml in *standard-output*))
<?xml version="1.0" encoding="UTF-8"?>
<tag1/>
<tag2>
word2</tag2>
<tag1>
word3</tag1>
<tag1>
word4</tag1>

剩下的就是弄清楚如何处理表示中的元素嵌套...

关于xml - Lisp 数据格式化为 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com