【问题标题】:How to add attribute to Nokogiri node?How to add attribute to Nokogiri node?
【发布时间】:2011-04-06 13:55:44
【问题描述】:

我正在尝试将属性添加到现有的 Nokogiri 节点。我所做的是这样的:

node.attributes['foobar'] = Nokogiri::XML::Attr.new('foo', 'bar')

但我得到了错误:

TypeError Exception: wrong argument type String (expected Data)

什么是Data 数据类型,如何向 Nokogiri 对象添加属性?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby nokogiri


    【解决方案1】:

    我相信你应该只需要使用the []= method,即

    node['foo'] = 'bar'
    

    您也可以使用node.set_attribute('foo', 'bar')

    【讨论】:

    • 这是 Nokogiri 文档所说的。你确定你的node 对象实际上是Nokogiri::XML::Element 吗?你在node['foo'] = 'bar'时遇到了什么错误?
    • 实际上,您是对的 - 这是我的错误。 greg - 你介意编辑并提交你的问题,这样我就可以投票了吗?谢谢!
    • 完成。我还链接到关于 Nokogiri::XML::Node 的相关方法的 RDoc。
    • 如果您想知道为什么这不起作用,另一件事是确保您正在写出修改后的对象。 =)
    猜你喜欢
    • 2018-10-17
    • 2022-12-01
    • 2020-01-01
    • 2012-12-27
    • 2022-12-26
    • 2017-07-13
    • 2017-05-07
    • 2022-12-19
    • 2022-11-20
    相关资源
    最近更新 更多