ruby-rexml-get元素子元素
我需要使用rexml解析ruby中的xml文档,该文档具有以下结构:ruby-rexml-get元素子元素,ruby,xml,rexml,Ruby,Xml,Rexml,我需要使用rexml解析ruby中的xml文档,该文档具有以下结构: <events> <event> <title>Best NYC New Year's Party</title> <description>Come spend New Year's Eve with us!</description> <category>conferences<
<events>
<event>
<title>Best NYC New Year's Party</title>
<description>Come spend New Year's Eve with us!</description>
<category>conferences</category>
<tags>new year, party</tags>
<start_date>2008-12-31 20:00:00</start_date>
<end_date>2009-01-01 06:00:00</end_date>
<venue>
<name>Madison Square Garden</name>
<address>4 Penn Plaza</address>
<city>New York</city>
<country>United States</country>
</venue>
</event>
</events>
我尝试了event.address=element.elements[“地点”].elements[“地址”]
,但我得到了nil:NilClass的未定义方法'elements'
但是如何访问场馆元素中的名称元素?试试这个
event.address = element.elements["venue"].elements["address"].text unless element.elements["venue"].elements["address"].nil?
因为只有当“地点”有一个元素“地址”时才应该使用text方法,否则返回nil
您可以使用相同的方式获取“name”元素:
event.name = element.elements["venue"].elements["name"].text unless element.elements["venue"].elements["name"].nil?
如果您必须使用XML做更复杂的事情,我建议使用类似
event.name = element.elements["venue"].elements["name"].text unless element.elements["venue"].elements["name"].nil?