我想从字符串中读取 HTML,对其进行处理并使用 HXT 将更改后的文档作为字符串返回。由于此操作不需要 IO,因此我宁愿使用 with 执行 Arrow 而runLA
不是 with runX
。
代码如下所示(为简单起见省略处理):
runLA (hread >>> writeDocumentToString [withOutputHTML, withIndent yes]) html
html
但是,结果中缺少周围的标记:
["\n <head>\n <title>Bogus</title>\n </head>\n <body>\n Some trivial bogus text.\n </body>\n",""]
当我像这样使用 runX 时:
runX (readString [] html >>> writeDocumentToString [withOutputHTML, withIndent yes])
我得到了预期的结果:
["<html>\n <head>\n <title>Bogus</title>\n </head>\n <body>\n Some trivial bogus text.\n </body>\n</html>\n"]
为什么会这样,我该如何解决?