如何在Nokogiri中创建具有长命名空间的XML,除以点

时间:2015-09-29 08:56:01

标签: ruby xml namespaces nokogiri

我需要在Nokogiri中重新创建这部分XML文档

<propertiesJMeter>
    <jmeter.save.saveservice.thread_counts>
       true
    </jmeter.save.saveservice.thread_counts>
</propertiesJMeter>

我用这样的Nokogiri :: XML :: Builder构建它,这里只是一个值得怀疑的部分。

propertiesJMeter {
  jmeter.save.saveservice.thread_counts 'true'
}

但结果是以下和不正确,因为我不需要该类变量,我想保存命名空间结构。

<propertiesJMeter>
  <jmeter class="save saveservice thread_counts">
     true
  </jmeter>
</propertiesJMeter>

1 个答案:

答案 0 :(得分:0)

发表“nokogiri-talk”小组的回答,这对我有帮助

  

问题在于

jmeter.save
     

被Nokogiri Builder解释为“标签属性快捷方式”(as   你可以阅读   http://www.rubydoc.info/github/sparklemotion/nokogiri/Nokogiri/XML/Builder)。

     

制作带有“。”的标签。在标记名中,您需要确保ruby   不解释“。”作为实例方法调用。这有效:

propertiesJMeter {
  send "jmeter.save.saveservice.thread_counts", 'true'
}
     

并发出

<propertiesJMeter>
  <jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts>
</propertiesJMeter>