gpt4 book ai didi

ruby - 在 Ruby 中插入包含双引号和冒号的 XML 字符串

转载 作者:数据小太阳 更新时间:2023-10-29 08:35:38 26 4
gpt4 key购买 nike

在 Ruby 中,我从表示 XML 文档的文件中获取一个传入,但包含一些 Ruby 插值代码。这是一个例子:

<ns1: xmlns:ns1="http://example.com" attr="#{Time.now}">

现在,当我想评估字符串以解析 Ruby 引用时,我尝试了以下操作:

xs = '<ns1: xmlns:ns1="http://example.com" attr="#{Time.now}">'
eval("'" + xs + "'") #=> "<ns1: xmlns:ns1=\"http://example.com\" attr=\"\#{Time.now}\">"
eval %Q{"'" + #{xs} + "'"} # SyntaxError: (eval):1: syntax error, unexpected '<'
eval('"' + %Q{#{xs}} + '"') # SyntaxError: (eval):1: syntax error, unexpected tIDENTIFIER, expecting end-of-input

我不知道该怎么做。如何使用插值评估字符串,以便获得以下内容:

<ns1: xmlns:ns1="http://example.com" attr="2017-06-22 11:58:39 +0200">

最佳答案

正如 Jörg 所建议的,如果您使用其中一种模板语言,您将获得更好的体验。我建议使用 ERB,因为它是内置的。

xs = '<ns1: xmlns:ns1="http://example.com" attr="<%= Time.now %>">'

require 'erb'
ERB.new(xs).result(binding)
# => "<ns1: xmlns:ns1=\"http://example.com\" attr=\"2017-06-23 09:11:56 +0300\">"

关于ruby - 在 Ruby 中插入包含双引号和冒号的 XML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44696149/

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