使用libxml-ruby声明命名空间

时间:2011-02-14 10:12:00

标签: ruby xml libxml-ruby

我正在使用libxml-ruby来解析XML。

我可以使用libxml-ruby创建xml文件,但问题是我无法为生成的XML文档声明命名空间。

请帮我知道如何为新生成的XML创建命名空间。

为创建xml而编写的代码是:

require 'rubygems' 
require 'libxml'

filename = 'something.xml'
stats_doc = LibXML::XML::Document.new()
stats_doc.root = LibXML::XML::Node.new('root_node') 
stats_doc.root << LibXML::XML::Node.new('elem1') 
stats_doc.save(filename, :indent => true, :encoding => LibXML::XML::Encoding::UTF_8)

1 个答案:

答案 0 :(得分:1)

您只需按照here所述创建XML :: Namespace类的新实例。您可以在下面找到示例的修改版本。

require 'rubygems' 
require 'libxml'

filename = 'something.xml'
stats_doc = LibXML::XML::Document.new()
stats_doc.root = LibXML::XML::Node.new('root_node')

LibXML::XML::Namespace.new(stats_doc.root, 'soap', 'http://schemas.xmlsoap.org/soap/envelope/')

stats_doc.root << LibXML::XML::Node.new('elem1')
stats_doc.save(filename, :indent => true, :encoding => LibXML::XML::Encoding::UTF_8)