aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/xml/xml.ex18
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/pleroma/web/xml/xml.ex b/lib/pleroma/web/xml/xml.ex
index b85712d65..8b609f695 100644
--- a/lib/pleroma/web/xml/xml.ex
+++ b/lib/pleroma/web/xml/xml.ex
@@ -4,14 +4,20 @@ defmodule Pleroma.Web.XML do
def string_from_xpath(_, :error), do: nil
def string_from_xpath(xpath, doc) do
- {:xmlObj, :string, res} = :xmerl_xpath.string('string(#{xpath})', doc)
+ try do
+ {:xmlObj, :string, res} = :xmerl_xpath.string('string(#{xpath})', doc)
- res =
- res
- |> to_string
- |> String.trim()
+ res =
+ res
+ |> to_string
+ |> String.trim()
- if res == "", do: nil, else: res
+ if res == "", do: nil, else: res
+ catch
+ e ->
+ Logger.debug("Couldn't find xpath #{xpath} in XML doc")
+ nil
+ end
end
def parse_document(text) do