2011-02-14 111 views
2

我正在使用libxml-ruby来解析XML。使用libxml-ruby声明命名空间

我可以使用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) 
+0

谢谢,我更新了代码。我不知道如何在此代码中添加命名空间,请帮助我。 – naveen 2011-02-15 06:33:35

回答

1

你只需要描述here创建XML命名空间::类的新实例。下面你可以找到你的例子的修改版本。

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)