gpt4 book ai didi

ruby - 使用 Nokogiri 构建空白 XML 标签?

转载 作者:数据小太阳 更新时间:2023-10-29 01:54:51 27 4
gpt4 key购买 nike

我正在尝试使用 Nokogiri 构建 XML 文档。到目前为止一切都很标准;我的大部分代码看起来像这样:

builder = Nokogiri::XML::Builder.new do |xml|
...
xml.Tag1(object.attribute_1)
xml.Tag2(object.attribute_2)
xml.Tag3(object.attribute_3)
xml.Tag4(nil)
end

builder.to_xml

但是,这会导致像 <Tag4/> 这样的标签而不是 <Tag4></Tag4> ,这是我的最终用户指定的输出需要的内容。

我如何告诉 Nokogiri 将完整的标签放在 nil 值周围?

最佳答案

SaveOptions::NO_EMPTY_TAGS 会给你想要的。

require 'nokogiri'

builder = Nokogiri::XML::Builder.new do |xml|
xml.blah(nil)
end

puts 'broken:'
puts builder.to_xml
puts 'fixed:'
puts builder.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::NO_EMPTY_TAGS)

输出:

(511)-> ruby derp.rb 
broken:
<?xml version="1.0"?>
<blah/>
fixed:
<?xml version="1.0"?>
<blah></blah>

关于ruby - 使用 Nokogiri 构建空白 XML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685801/

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