Разбор XML POST-данных с помощью Rails - PullRequest
0 голосов
/ 26 октября 2011

Я использую REXML для анализа некоторых данных XML, отправленных через POST. XML-файл отправляется в правильном формате, а "&" отправляется как "&amp;" Однако, когда я пытаюсь разобрать его, у меня возникли проблемы, такие как &amp;, ставший & и выдававший ошибку. Я исправил с помощью gsub, но теперь он говорит #<REXML::ParseException: Missing end tag for 'br'

Кто-нибудь имеет опыт разбора через XML, отправленный через POST на Rails?

def parse
xml = params["xml_data"]

xml = xml.gsub(/&/,"&amp;")

doc, posts = REXML::Document.new(xml), []
end

1 Ответ

1 голос
/ 26 октября 2011

Скорее всего, проблема в том, что вы отправляете html вместо xml, а html не является действительным xml - не пытайтесь использовать процессоры regexp или xml для его анализа. В вашем случае вы, вероятно, столкнулись с тегом
(не
обратите внимание) - это совершенно нормально для html. Попробуйте использовать Nokogiri gem для разбора html

...