我连接到外部API,返回带有字符
的消息响应:
<daoapi>
<status>FEJL</status>
<fejlkode>520</fejlkode>
<fejltekst>Fejl ved opslag: Der er fejl i input parametre:
Husnummer mangler eller er ikke numerisk
</fejltekst>
</daoapi>
它是丹麦语,但你可以看到两次出现的角色
我怎么能逃避这个?
答案 0 :(得分:2)
您应该使用Nokogiri解析XML响应,它会处理实体转换。
require 'nokogiri'
response = <<-XML
<daoapi>
<status>FEJL</status>
<fejlkode>520</fejlkode>
<fejltekst>Fejl ved opslag: Der er fejl i input parametre:
Husnummer mangler eller er ikke numerisk
</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"
答案 1 :(得分:0)
这不是奇怪的字符,而是可以解释为回车符的ASCII编码字符。检查AsciiTable或任何其他参考。
您可以对输出进行重新编码,将其更改为\n
,html entity或者可能会保留该输出,因为它不会造成任何伤害。