这是我的XML:
<response errors="0"><person><middlename/><name>Egor</name><carsList><car default="true">0777AD</car></carsList><surname>Petrov</surname></person><funds>505.56</funds></response>
我需要获取default
元素的<car>
属性的值。
我在使用attr()
和attributue()
的Stack Overflow上找到了一些解决方案,但我没有成功使用它们。
我的代码是:
unless @account.xpath("//person//carslist").blank?
@account.xpath("//person//carslist").each do |car|
p car.attribute('default')
end
end
在我的控制台上,我看到没有,但需要看到真的。
正确的变体是:
unless @account.xpath("//person//carsList/*").blank?
@account.xpath("//person//carsList/*").each do |car|
p car.attribute('default').content
end
end
它有什么用?
答案 0 :(得分:1)
你想:
unless @account.xpath("//person//carsList/*").blank?
请注意carsList
中的大写字母“L”,而不是carslist
。另请注意/*
以获取carList
的子节点。
更正后的代码为:
unless @account.xpath("//person//carsList/*").blank?
@account.xpath("//person//carsList").each do |car|
p car.attribute('default')
end
end