加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 03:37:50 所属栏目:百科 来源:网络整理
导读:我正在尝试使用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) endb
我正在尝试使用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将全部标签放在零值附近?

解决方法

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读