【发布时间】:2014-05-23 05:04:23
【问题描述】:
使用 Nokogiri 搜索特定路径的 XML 文档并更改它(使用前面的 Cucumber)
我想在 XML 文档中搜索特定路径,然后将其更改为其他路径。这是 XML 的相关部分:
<Root>
<Application>
<Connections>
<AutoAccept>true</AutoAccept>
<AllowDomains/>
</Connections>
<Streams>
<StreamType>default</StreamType>
<StorageDir>/C:/blah/flash/</StorageDir>
我想将“/C:/blah/flash/”更改为另一个值。这就是我在代码方面所拥有的:
Given(/^Update the Apreso configuration file$/) do
xmldoc = Nokogiri::XML(DATA['DATA_WOWZA1'])
xmldoc.search("/Root/Application/Streams/StorageDir").each do |node|
node.content = "Newpath"
end
puts xmldoc.to_xml
end
“DATA_WOWZA1”是我通过 YAML 文件传递的 XML 文件的路径。当我运行它通过但 XML 文件没有反映更改的代码时,想法?
【问题讨论】:
-
您是在搜索空字符串,还是只是一个伪代码?
-
艾哈迈德,这是一种类型,谢谢兄弟。搜索路径,见上面的代码。
-
那么这个 XPath 有什么问题呢?它对我来说很好用;节点更改正确反映。您使用的是哪个版本的 nokogiri?
-
XML 中有多少个
StorageDir节点?一个,还是多个?如果只有一个,那么你就很难做到。 -
^一,如何重构更容易?
标签: ruby xml cucumber nokogiri