Ruby 解析REXML文档,忽略空白

Ruby 解析REXML文档,忽略空白,ruby,xml-parsing,rexml,Ruby,Xml Parsing,Rexml,REXML应该忽略标识还是空格 我正在调试一个问题。由于某种原因,它无法正常工作 <blockquote><p>foo</p></blockquote> 我很确定,这是由于某个参数使得REXML需要空格和标识:否则它为什么会解析第一个XML与后一个不同 我可以强制REXML解析这两个相同的对象吗?或者我看到的是一种完全不同的bug?尝试传递选项:忽略空白节点=>:全部到Document.new()。尝试传递选项:忽略空白节点=>:全部到Docum

REXML应该忽略标识还是空格

我正在调试一个问题。由于某种原因,它无法正常工作

<blockquote><p>foo</p></blockquote>
我很确定,这是由于某个参数使得REXML需要空格和标识:否则它为什么会解析第一个XML与后一个不同


我可以强制REXML解析这两个相同的对象吗?或者我看到的是一种完全不同的bug?

尝试传递选项:忽略空白节点=>:全部到Document.new()。

尝试传递选项:忽略空白节点=>:全部到Document.new()。

显示一个演示问题的代码示例。此外,您可能应该使用。这是一个很棒的XML/HTML解析器,正迅速成为事实上的选择。关于Nokogiri:我也喜欢那个。但这不是我写的脚本,我只想简单地修复它,而不是重写它以使用不同的XML库:)显示一个代码示例来演示这个问题。此外,您可能应该使用。这是一个很棒的XML/HTML解析器,正迅速成为事实上的选择。关于Nokogiri:我也喜欢那个。但这不是我写的脚本,我只想简单地修复它,而不是重写它以使用不同的XML库:)这并不能解决问题;文档中提到的“:忽略空白节点”在哪里?对我来说很有用(MRI 2.0.0-p481)。这并不能解决问题;文档中提到的“忽略空白节点”在哪里?对我来说很有用(MRI 2.0.0-p481)。
<blockquote>
  <p>foo</p>
</blockquote>
require 'rexml/document'
include REXML

def parse_string(string)
  doc = Document.new("<root>\n"+string+"\n</root>")
  root = doc.root
  root.elements.each do |element|
    parse_element(element, :root)
  end
end

def parse_element(element, parent)
  @output = ''
  # ...
  @output << opening(element, parent)
  #...
end

def opening(type, parent)
  case type.name.to_sym
    #...
    when :blockquote
       # remove leading newline
      type.children.first.value = ""
      "> "
  end
end

#Parses just fine
puts parse_string("<blockquote>\n<p>foo</p>\n</blockquote>")

# Fails with undefined method `value=' for <p> ... </>:REXML::Element (NoMethodError)
puts parse_string("<blockquote><p>foo</p></blockquote>")