Haskell中的RSS/Atom feed解析

4
什么是在Haskell中解析feeds(RSS,Atom等)的最佳库?
我特别关注以下几点:
- 性能/内存 - 非英文字符的编码问题? - 正确性、检测feed类型(RSS 1、RSS 2、Atom等)、处理非有效feed等。
我已经遇到了feed,但它使用字符串。如果应用程序中其他地方使用了ByteString.Lazy或Text,这会如何影响性能/内存?
1个回答

4
您的直觉是正确的,尽可能避免使用 String。在现代 Haskell 中,通常的经验法则是尽量避免使用 String,而改用 TextByteString。但是,在这种情况下,我不知道有什么可以直接替换 feed 包的方法。
实际上,由于解析 feed 通常会受到网络限制,因此在正常情况下,您不应该遇到任何性能问题。
但是,如果您确实需要高吞吐量和严格控制资源,使用 xml-conduit 编写自己的 RSS 解析器并不困难,我认为这是目前功能最成熟的基于迭代器的 XML 解析库。 您可以查看一下这些包如何使用它: 这些包

非常感谢。我已经尝试使用´xml-conduit´,但是担心无法正确处理边缘情况等问题。 - Martin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接