Ruby on rails Hpricot正在错误地分析xml文件:误读空标记

Ruby on rails Hpricot正在错误地分析xml文件:误读空标记,ruby-on-rails,ruby,xml,hpricot,Ruby On Rails,Ruby,Xml,Hpricot,我有一个xml文件,其内容如下: <data> <title/> <creator/> <copyright>Foo</copyright> </data> 有人能解释出哪里出了问题吗?我不明白为什么title标记会与creator标记区别对待:如果没有doctype存在问题,那么我认为这两个标记都会受到影响(或者两者都没有)。Hpricot正是在解析您要求它做的事情creator是此处的空标记,后面跟着版权。

我有一个xml文件,其内容如下:

<data>
  <title/>
  <creator/>
  <copyright>Foo</copyright>
</data>

有人能解释出哪里出了问题吗?我不明白为什么
title
标记会与
creator
标记区别对待:如果没有doctype存在问题,那么我认为这两个标记都会受到影响(或者两者都没有)。

Hpricot正是在解析您要求它做的事情
creator
是此处的空标记,后面跟着
版权
。这两个都嵌套在
title
标记中。虽然
title
从未真正关闭过,但根据继承人的身份,它使Hpricot的工作变得简单。但是
creator
没有嵌套在我原始xml文件中的
title
标记中:
title
是一个空标记,就像
creator
一样。
doc = Hpricot(File.read("#{ENV['HOME']}/test.xml")) 
=> #<Hpricot::Doc {elem <data> "\n  " {elem <title> "\n  " {emptyelem <creator>} "\n  " {elem <copyright> "Foo" </copyright>} "\n"} </data>} "\n">

puts doc.to_s
<data>
  <title>
  <creator />
  <copyright>Foo</copyright>
</title></data>