2

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)
4

1 に答える 1

1

こちら で説明されているように、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)
于 2011-03-05T08:51:55.090 に答える