当前位置: 首页 > 知识库问答 >
问题:

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

松桐
2023-03-14
XPath.each( xmldoc, "//speech/speaking") do |element| 
# puts element.attributes['name']
# puts element.text
File.open(file_name + "_" + element.attributes['name'] + "-" + year + ".xml", 'a+') do |f|
    f.write("<speaker>" + element.attributes['name'] + "</speaker>")
    f.write("<speech>" + doc.xpath('//speech/speaking').text + "</speech>" + "\n")
end
end

你好stackoverflow我正在寻找帮助来解决我在使用XML文件时遇到的逻辑问题。上面的代码创建了一个带有“演讲者”名称的文件,然后它应该将演讲者所说的内容放入该文件中。

我遇到的问题是,它将所有扬声器放在同一个文件中。所以我认为问题就在这里:

f.write("<speech>" + doc.xpath('//speech/speaking').text + "</speech>" + "\n")

我希望有人有更好的方法来做到这一点,但想法是将上述代码更改为:

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

最终,我希望每个演讲者都在自己的XML文件中包含自己的演讲。

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

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

共有1个答案

国胤
2023-03-14

您要查找的xpath是:

doc.xpath("//speech/speaking[@name='#{element.attributes['name']}']").text

请参见XPath以按属性值选择元素

 类似资料:
  • 问题内容: 我需要从另一个目录打开一个图像,但是当我尝试像这样输入整个路径名时,以下代码不起作用。 我正在尝试打开图像。我正在这样做,所以我可以为该代码制作GUI,但是我真的很困。我尝试了很多事情,但似乎没有任何效果。任何建议将不胜感激。 问题答案: 你可以尝试任何一个

  • 问题内容: 我们没有只介绍ArrayLists数组和2D数组。我需要做的是能够从另一个类的ArrayList中读取。主要目的是在for循环中读取它们,并使用存储在其中的值显示项目。但是,我已经制作了这个快速程序来对其进行测试并不断得到此错误 这是我的代码 然后是ArrayList所在的类 如果有人可以指出正确的方向,那将非常有价值。我尝试调试,但是我可以获得任何帮助。 提前致谢。 问题答案: 严格

  • 我希望有人会花时间帮助我。我是Java新手,正在上一堂课尝试学习它。我有一个任务,我已经开始和删除了可能30次。我就是不喜欢这个。作业如下: 从txt文件中读取3列整数。一列有学生号,一列是作业的分数,第三列是作业的最大可能分数。(各10分学生5人)。 我必须至少使用1个数组。 列出从作业中获得的总分数,并合计5名学生在10项作业中每个人可能获得的最高分数。然后将学生号、分数、作业的最大可能分数、

  • 我的任务是编写一个java程序,从一个主题中读取xml,将其转换为JSON并发送到另一个主题。我已经创建了一个将xml转换为json的程序,但我不知道接下来该怎么做,比如如何使用该主题中的xml并将其发送给另一个主题。

  • 我想创建一个应用程序,每天从一个文件夹中读取一次多个xml文件,然后读取它们并提取数据并构建一个新的xml文件,我想知道哪个选项更适合这种情况: 使用Spring批处理读取并处理所有文件,然后写入新文件

  • 我有以下工会: 假设我初始化此并集的实例,如下所示: 如果我理解正确,尝试读取是未定义的行为,因为已设置的和的元素与其重叠。但是,读取也是未定义的行为吗? 编辑:如果C和C在这个问题上的语义学不同,关于C和C的答案非常感谢。