ruby – 如何用Nokogiri让空标签自动关闭?
发布时间:2020-12-17 03:20:02 所属栏目:百科 来源:网络整理
导读:我在ERB中创建了一个 XML模板.我在导出过程中用数据库中的数据填充它. 在某些情况下,有一个空值,在这种情况下元素可能为空,如下所示: someitem/someitem 在这种情况下,接收导出的客户端希望将其转换为自闭合标记: someitem/ 我试图看看如何让Nokogiri这样
我在ERB中创建了一个
XML模板.我在导出过程中用数据库中的数据填充它.
在某些情况下,有一个空值,在这种情况下元素可能为空,如下所示: <someitem> </someitem> 在这种情况下,接收导出的客户端希望将其转换为自闭合标记: <someitem/> 我试图看看如何让Nokogiri这样做,但我还没有看到它.有人知道如何使Nokogiri自动关闭空XML标签吗? 更新 正则表达式足以完成我上面指定的操作,但客户端现在也希望其子项全部为空的标记可以自动关闭.所以这: <someitem> <subitem> </subitem> <subitem> </subitem> </someitem> ……也应该 <someitem/> 我认为这需要使用Nokogiri. 解决方法
搜索
<([^>]+)>s*</1> 并替换为 <1/> 在Ruby中: result = subject.gsub(/<([^>]+)>s*</1>/,'<1/>') 说明: < # Match opening bracket ( # Match and remember... [^>]+ # One or more characters except > ) # End of capturing group > # Match closing bracket s* # Match optional whitespace & newlines < # Match opening bracket / # Match / 1 # Match the contents of the opening tag > # Match closing bracket (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |