Ruby HappyMapper命名空间前缀错误

Ruby HappyMapper命名空间前缀错误,ruby,xml,xml-namespaces,Ruby,Xml,Xml Namespaces,我有以下XML文档,希望使用happymapper将XML转换为对象 <objects> <item> <title>book1</title> <link>http://asdf.com</link> <pubDate>march 1 2009</pubDate> <description>testtesttest</description> <media:thumbn

我有以下XML文档,希望使用happymapper将XML转换为对象

<objects>
<item>
<title>book1</title>
<link>http://asdf.com</link>
<pubDate>march 1 2009</pubDate>
<description>testtesttest</description>
<media:thumbnail url='http://url.com' />
</item>
<item>
<title>book2</title>
<link>http://dffdfdf.com</link>
<pubDate>march 3 2009</pubDate>
<description>testtesttest</description>
<media:thumbnail url='http://url.com' />
</item>
</objects>

#HappyMapper object
class Item
 include HappyMapper
 namespace 'http://search.yahoo.com/mrss/'
 element :title, String
 element :link, String
 element :pubDate, String
 element :description, String
 element :media_thumbnail, String, :tag=>'media:thumbnail', :attributes=>{:url=>String}
end

items=Item.parse(xml_document)
items.each do |i|
 puts i.title
 puts i.media_thumbnail.url
end

第一册
http://asdf.com
2009年3月1日
测试
第二册
http://dffdfdf.com
2009年3月3日
测试
#快乐映射对象
类项目
包括HappyMapper
名称空间'http://search.yahoo.com/mrss/'
元素:标题、字符串
元素:链接,字符串
元素:pubDate,String
元素:描述,字符串
元素:media\u缩略图,String,:tag=>'media:缩略图',:attributes=>{:url=>String}
结束
items=Item.parse(xml\u文档)
项目。每个项目都有| i|
一、头衔
放置i.media\u缩略图.url
结束
错误:未在以下位置定义缩略图上的命名空间前缀媒体:11

错误:未在:22处定义缩略图上的命名空间前缀媒体

  • 检查您的XML文档是否具有前缀
    media
    的命名空间定义。元素
    或其祖先之一应该具有类似
    xmlns:media=”的名称空间定义http://some.uri“
    。如果没有名称空间uri到前缀的映射,那么您的XML(名称空间)格式不正确,这会导致解析失败

  • 检查您是否已为HappyMapper代码中的
    缩略图
    元素定义了正确的命名空间


  • 谢谢,我需要将ns添加到我的xml文档中。但它在不必向happymapper对象添加ns的情况下工作。