I can confirm that the suggestion from @srowley works, this code is tested in an iex repl:
clean_newlines_and_ws = fn x -> String.replace(x, ~r/\r|\n|\W/, "") end
rows =
SweetXml.xpath(
tree,
~x"/rss/channel/item"l,
slug: ~x"./wp:post_name/text()"s |> transform_by(clean_newlines_and_ws),
company_logo:
~x"./wp:postmeta[contains(wp:meta_key, '_thumbnail_id')]/wp:meta_value/text()"s
|> transform_by(clean_newlines_and_ws),
edited_at:
~x"./wp:postmeta[contains(wp:meta_key, '_edit_last')]/wp:meta_value/text()"s
|> transform_by(clean_newlines_and_ws)
)
i also added a transform_by function from sweet_xml that cleans up those newlines and extra whitespaces.
Also not sure why those are added in the first place as I can’t see them in the XML itself, seems like the underlying xmerl library (that sweet_xml uses) or sweet_xml itself does something weird to those cdata nodes?
But at least with this code you could go on with the task at hand ![]()






















