سؤال

لدي مستند XML مع DTD, و أحب أن تكون قادرة على الوصول إلى XML نموذج شيئا من هذا القبيل:

title = Thing.Items[0].Title

هل هناك طريقة في روبي ، لتوليد هذا النوع من نموذج كائن على أساس DTD ؟ أو أنا عالقة باستخدام REXML?

وذلك بفضل!

هل كانت مفيدة؟

المحلول

يمكنك استخدام روبي نسخة xml بسيطة.

يجب أن لا تحتاج إلى تثبيت الأحجار الكريمة كما اعتقد انها بالفعل مع تثبيت القضبان.http://xml-simple.rubyforge.org/

نصائح أخرى

إذا كنت تشمل active_support جوهرة (يأتي مع القضبان) وتضيف طريقة from_xml إلى تجزئة الكائن.ثم يمكنك استدعاء التجزئة.from_xml(xml_content) وأنه سوف يعود تجزئة التي يمكنك استخدامها للوصول إلى البيانات.

أنا لا أعرف طريقة سهلة خريطة xml إلى كائن, ولكن يمكنك إنشاء المجمع الدرجة التي المندوبين طريقة المكالمات الأساسية التجزئة الذي يحمل البيانات.

أعرف أن هذا السؤال, لكن إذا كنت تريد الشيء الحقيقي.البنود[0].العنوان اكتب تنسيق, كل ما عليك القيام به هو استخدام 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 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top