获取XML属性值



这是我的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

相关内容

  • 没有找到相关文章

最新更新