0

DTD を含む XML ドキュメントがあり、次のような XML モデルにアクセスできるようにしたいと考えています。

title = Thing.Items[0].Title

Ruby で、DTD に基づいてこの種のオブジェクト モデルを生成する方法はありますか? または、REXML を使用して行き詰まっていますか?

ありがとう!

4

3 に答える 3

2

active_support gem (レールに付属) を含めると、メソッド from_xml が Hash オブジェクトに追加されます。次に Hash.from_xml(xml_content) を呼び出すと、データへのアクセスに使用できるハッシュが返されます。

xml をオブジェクトにマップする簡単な方法はわかりませんが、データを保持する基礎となるハッシュにメソッド呼び出しを委譲するラッパー クラスを作成できます。

于 2008-08-26T16:36:42.813 に答える
1

この質問がしばらく前に尋ねられたことは知っていますが、本当のThing.Items [0] .Titleタイプの形式が必要な場合は、OpenStructを使用するだけです。

require 'rubygems'
require 'activesupport' # For xml-simple
require 'ostruct' 

h = Hash.from_xml File.read('some.xml')
o = OpenStruct.new h
o.thing.items[0].title 
于 2009-09-22T19:25:28.010 に答える
0

xml-simple の ruby​​ バージョンを使用できます。

gem はレールと共に既にインストールされていると思われるので、インストールする必要はありません。 http://xml-simple.rubyforge.org/

于 2008-08-26T16:42:06.027 に答える