Ruby 如何让生成器创建<;标签></标签>;而不是<;标签/>;

Ruby 如何让生成器创建<;标签></标签>;而不是<;标签/>;,ruby,xml,tags,builder,Ruby,Xml,Tags,Builder,一、 我使用Builder::XmlMarkup创建xml。我想创建一个没有内容的标记,因为api强迫我创建它。 如果我使用博客 xml.tag do end 我得到了我需要的 <tag></tag> 这给了我 <mytag/> 但是我想要 <mytag></mytag> 我必须通过什么作为选项 你为什么想要而不是?由于输出是XML,下游应用程序不应该知道或关心差异 根据Infoset规范(),“两种形式的空元素之间的差

一、 我使用Builder::XmlMarkup创建xml。我想创建一个没有内容的标记,因为api强迫我创建它。 如果我使用博客

xml.tag do
end
我得到了我需要的

<tag></tag>
这给了我

<mytag/>

但是我想要

<mytag></mytag>

我必须通过什么作为选项


你为什么想要
而不是
?由于输出是XML,下游应用程序不应该知道或关心差异

根据Infoset规范(),“两种形式的空元素之间的差异:
”不在XML信息集中表示


这并不能回答你的“如何”问题,但如果你发现你实际上不需要做你想做的事情,它可能会让你避免一场困难的、不必要的白费力气的追逐。

为什么你想要
而不是
?由于输出是XML,下游应用程序不应该知道或关心差异

根据Infoset规范(),“两种形式的空元素之间的差异:
”不在XML信息集中表示


这并不能回答您的“如何”问题,但如果您发现您实际上不需要做您正试图做的事情,它可能会使您免于困难和不必要的白费力气。

只需将空字符串作为参数传递即可
xml.mytag(“”)

只需将空字符串作为参数传递即可
xml.mytag(“”)

确定空字符串很好,另一种单行方式是我发现的空块

xml.mytag{}

好的,空字符串很好,另一个单行方式是我发现的空块

xml.mytag{}

为什么要
而不是
?由于输出是XML,下游应用程序不应该知道或关心差异。为什么要
而不是
?由于输出是XML,下游应用程序不应该知道或关心差异。问题是,Datev(德国最大的会计系统供应商)强迫我这样做。我认为他们不会为我更改api;)@玩具:明白了。虽然它不会为你改变应用程序的行为。。。这可能是因为他们有一个bug,因此他们声称使用XML,但实际上他们需要按照自己的方式格式化XML。应该有人告诉他们。此外,它不会改变他们的API本身,除非他们的规范明确指出“不允许使用空元素的短形式(或表示不同的内容)”。但我明白,现实是他们明天不会修好的!问题是,Datev(德国最大的会计系统供应商)强迫我这么做。我认为他们不会为我更改api;)@玩具:明白了。虽然它不会为你改变应用程序的行为。。。这可能是因为他们有一个bug,因此他们声称使用XML,但实际上他们需要按照自己的方式格式化XML。应该有人告诉他们。此外,它不会改变他们的API本身,除非他们的规范明确指出“不允许使用空元素的短形式(或表示不同的内容)”。但我明白,现实是他们明天不会修好的!显然这不起作用(不再?)只是尝试了这个,而Builder显然是在尝试变得聪明并创建
而不是显然这不起作用(不再?)只是尝试了这个,Builder显然是在尝试变得聪明并创建