我正在使用Nokogiri解析XML文档,并且在视图中使用时,会在调用结束时附加一个随机的0字符。
正在解析XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <entityDetail> <companyName>Test ompany</companyName>......</entityDetail>
控制器
@output = Coffice.find_by_cn(params[:cn])
## Function to remove any resigned directors more than two years old
@output.search('director').each do |node|
if node.css('resignationDate').text.present?
if node.css('resignationDate').text.first(4).to_f < 2012
node.remove
end
end
end
......
def self.find_by_cn(cn)
path = "/data/app/ws/rest/companies/entity/v2.0/" + cn
url_request = "http://" + @@domain + path
stringtosign = "GET" + "\n" + @@domain + "\n" + path + "\n" + @@timestamp + "\n" + @@access_key + "\n" + @@accept + "\n"
hash = OpenSSL::HMAC.digest('sha256', @@secret_key, stringtosign)
hash = Base64.strict_encode64(hash)
headers "Authorization" => @@access_key + ":" + hash
output = get(path)
doc = Nokogiri::XML(output.body, 'UTF-8')
end
查看
<div class="page-header">
<h1><%= @output.css("companyName").first.text.titleize %></h1>
</div>
渲染
<div class="page-header">
<h1>Test Company</h1>
</div>
0
0
问题
视图末尾出现随机零。我的第一个想法是XML中有多个标签,但我已经双重检查过,这是唯一一个(在任何情况下,.first调用应该只返回第一个外观)。
我曾想过使用CSS或Jquery删除这些标签,但这看起来有点脏......
我还在视图中尝试了其他调用,但仍然获得了附加的0个字符。