我使用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)

最佳答案

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

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)

关于ruby - 使用libxml-ruby声明 namespace ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4990920/

10-11 17:26