aboutsummaryrefslogtreecommitdiff
path: root/src/FeedNim/rss.nim
diff options
context:
space:
mode:
authorJohn Conway <john.a.conway@gmail.com>2019-05-17 18:57:04 +0100
committerJohn Conway <john.a.conway@gmail.com>2019-05-17 18:57:04 +0100
commit30ed0739aa64abdb1dc4372c6618c4c5f35cd992 (patch)
treeb04111f235c992ddcbd1e80c1f6152c194e5709e /src/FeedNim/rss.nim
parent80d3a0bda8e24220bf4b657a0f23114ac2fc3f2d (diff)
downloadfeed-nim-30ed0739aa64abdb1dc4372c6618c4c5f35cd992.tar.gz
feed-nim-30ed0739aa64abdb1dc4372c6618c4c5f35cd992.zip
[RSS] CData fix
Diffstat (limited to 'src/FeedNim/rss.nim')
-rw-r--r--src/FeedNim/rss.nim14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/FeedNim/rss.nim b/src/FeedNim/rss.nim
index c65b13f..47f141a 100644
--- a/src/FeedNim/rss.nim
+++ b/src/FeedNim/rss.nim
@@ -97,11 +97,15 @@ func parseCategories( node: XmlNode ): seq[RSSCategory] =
return categories
func parseText ( node: XmlNode ): string =
- var content = node.innerText
- if content.len() > 14:
- if content[0 .. 8] == "<![CDATA[":
- return content.substr[9 .. content.len()-4 ]
- return content
+ var content = ""
+ for item in node.items:
+ content = content & $item
+ # Strip CDATA
+ if content[0 .. 8] == "<![CDATA[":
+ content = content.substr[9 .. content.len()-4 ]
+ return content
+ else:
+ return node.innerText
func parseItem( node: XmlNode) : RSSItem =
var item: RSSItem = RSSItem()