stop rss parsing at rss tag
This commit is contained in:
1 parent
c4b70323c6
commit
01d6c689c9
2 files changed
+4
No files matched your search
@@ -24,6 +24,7 @@ defmodule FeedReader.Formats.RSS do
|
||||
limits: XMLResourceLimits.new(opts),
|
||||
frames: [],
|
||||
channel: nil,
|
||||
root_closed: false,
|
||||
error: nil
|
||||
}
|
||||
end
|
||||
|
||||
@@ -94,6 +94,9 @@ defmodule FeedReader.Formats.RSS.Handler do
|
||||
|
||||
defp close_element("channel", _channel, state), do: {:ok, state}
|
||||
|
||||
defp close_element("rss", _feed, %{frames: []} = state),
|
||||
do: {:halt, %{state | root_closed: true}}
|
||||
|
||||
defp close_element(name, value, %{frames: [parent | rest]} = state) do
|
||||
children = Map.update(parent.children, name, value, &(List.wrap(&1) ++ [value]))
|
||||
{:ok, %{state | frames: [%{parent | children: children} | rest]}}
|
||||
|
||||
Reference in new issue
Block a user