2010-05-13 67 views
0

我想创建与几个建筑商,与普通的标签,以便对XML文档,如:如何将nokogiri生成器的常用标记因式分解?

<xml version="1.0"?> 
    <a_kind_of_root> 
     <!-- This part is common --> 
     <event_date>20100514</event_date> 
     <event_id>123</event_id> 
     <event_type>Conference</event_type> 
     <!-- This part is specific to the builder --> 
     <my_tag>some text</my_tag> 
    </a_kind_of_root> 
    </xml> 

    <xml version="1.0"?> 
    <another_kind_of_root> 
     <!-- This part is common --> 
     <event_date>20100514</event_date> 
     <event_id>123</event_id> 
     <event_type>Conference</event_type> 
     <!-- This part is specific to the builder --> 
     <my_other_tag>some integer</my_other_tag> 
    </another_kind_of_root> 
    </xml> 

我不知道如何把常见的一部分引入nokogiri :: XML内部::生成器

感谢

回答

1

你可以通过你的生成器&有方法增加您的常见事件信息的方法:

def event_tags(xml, ev=Hash.new) 
    xml.event_date = ev[:date] 
    xml.event_id = ev[:id] 
    xml.event_type = ev[:type] 
end 

builder = Nokogiri::XML::Builder.new do |xml| 
    xml.root { 
    event_tags xml, :date => get_date, :id => get_id, :type => get_type 
    # blah blah 
    } 
end 
+0

非常感谢,你SAV编辑我的一天! 的确,除了那个之外,我尝试了一切...需要一些睡眠。 – Gravis 2010-05-14 07:52:16