Ruby XML从一个XML读取并解析到另一个XML

Ruby XML从一个XML读取并解析到另一个XML,ruby,xml,nokogiri,builder,rexml,Ruby,Xml,Nokogiri,Builder,Rexml,最后,我希望每个发言者都有自己的XML文件和演讲稿 doc.xpath('//speech/speaking').text WHERE speaker == element.attributes['name'] 以上是XML文件中的一个示例。您要查找的xpath是: <speaking name="Mr. FAZIO">I appreciate my friend yielding.</speaking> 请参见element.text不够吗?不幸的是,问题在于源XM

最后,我希望每个发言者都有自己的XML文件和演讲稿

doc.xpath('//speech/speaking').text WHERE speaker == element.attributes['name']

以上是XML文件中的一个示例。

您要查找的xpath是:

<speaking name="Mr. FAZIO">I appreciate my friend yielding.</speaking>

请参见

element.text不够吗?不幸的是,问题在于源XML文件中有数百位发言者,其中包含数百篇演讲。当前代码正确地创建了文件,但在所有创建的XML文件中都放置了来自每个人的演讲。这看起来是正确的,我以前也尝试过,但它给了我一个错误:node.rb:159:in“evaluate”:无效表达式://speech/speaking[@name=Mr.THOMAS]Nokogiri::XML::XPath::SyntaxErrorMake确保你有引号/speech/speaking[@name='Mr.THOMAS']上面的注释产生:speaking[@name=]Nokogiri::XML::XPath::SyntaxerRoll我建议的是确保你用单引号括住值“…它是封闭的。我觉得这是在正确的轨道上,但我一直走在这条道路上,无法让它工作。如果您有任何进一步的想法,我在上面发布了一些示例XML。
doc.xpath('//speech/speaking').text WHERE speaker == element.attributes['name']
<speaking name="Mr. FAZIO">I appreciate my friend yielding.</speaking>
doc.xpath("//speech/speaking[@name='#{element.attributes['name']}']").text