这是我的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>
我需要获取<car>
元素的default
属性的值。
我在attr()
和attributue()
的堆栈溢出上找到了一些解决方案,但我没有成功使用它们。
unless @account.xpath("//person//carslist").blank?
@account.xpath("//person//carslist").each do |car|
p car.attribute('default')
end
end
在我的控制台上,我看到nil,但需要看到true。
正确的变体是:
unless @account.xpath("//person//carsList/*").blank?
@account.xpath("//person//carsList/*").each do |car|
p car.attribute('default').content
end
end
会是什么呢?
你想:
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