2015-02-11 6 views
0

Im при подключении к внешнему API, который возвращает сообщения с характеромAPI дает странные символы

Ответ:

<daoapi> 
    <status>FEJL</status> 
    <fejlkode>520</fejlkode> 
    <fejltekst>Fejl ved opslag: Der er fejl i input parametre:&#13; 
Husnummer mangler eller er ikke numerisk&#13; 
</fejltekst> 
</daoapi> 

Это в датском, но вы можете видеть символы повторяющимися дважды

Как Я избегаю этого?

+0

Можете ли вы показать нам больше кода, как вызов API? – dgilperez

+0

обновленный код с полным ответом – Tarlen

+0

Возможный дубликат [Что такое ?] (Http://stackoverflow.com/questions/1459170/what-is-13) – dgilperez

ответ

2

Вы должны разобрать ответ XML с помощью Nokogiri, он обрабатывает преобразование объекта.

require 'nokogiri' 

response = <<-XML 
<daoapi> 
    <status>FEJL</status> 
    <fejlkode>520</fejlkode> 
    <fejltekst>Fejl ved opslag: Der er fejl i input parametre:&#13; 
Husnummer mangler eller er ikke numerisk&#13; 
</fejltekst> 
</daoapi> 
XML 

doc = Nokogiri::XML(response) 
doc.at_xpath('//fejltekst').text 
#=> "Fejl ved opslag: Der er fejl i input parametre:\r\nHusnummer mangler eller er ikke numerisk\r\n" 
0

Это не странный символ, но символ в ASCII, интерпретируемый как возврат каретки. Проверьте AsciiTable или любую другую ссылку.

Вы можете переустановить вывод, чтобы изменить его на \n, html entity или, возможно, оставить его таким, чтобы он не причинил вреда.

Смежные вопросы