gpt4 book ai didi

ruby /REXML : Change a tag value from XPath

转载 作者:数据小太阳 更新时间:2023-10-29 07:48:15 25 4
gpt4 key购买 nike

我有一个基本 XML,需要通过 Ruby 脚本进行修改。 XML 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<config>
<name>So and So</name>
</config>

我能够打印 <name> 的值:

require 'rexml/document'
include REXML

xmlfile = File.new("some.xml")
xmldoc = Document.new(xmlfile)

name = XPath.first(xmldoc, "/config/name")
p name.text # => So and so

我想做的是通过其他方式更改值(“某某”)。我似乎找不到该用例的任何示例(在文档中或其他地方)。甚至可以在 Ruby 1.9.3 中实现吗?

最佳答案

使用 Chris Heald 的回答,我设法用 REXML 做到了这一点——不需要 Nokogiri。诀窍是使用 XPath.each 而不是 XPath.first。

这个有效:

require 'rexml/document'
include REXML

xmlfile = File.new("some.xml")
xmldoc = Document.new(xmlfile)

XPath.each(xmldoc, "/config/name") do|node|
p node.text # => So and so
node.text = 'Something else'
p node.text # => Something else
end

xmldoc.write(File.open("somexml", "w"))

关于 ruby /REXML : Change a tag value from XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com