Help with using sweet_xml and nested xpath

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 :slight_smile: