首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让生成器创建<tag></tag>而不是<tag/>

如何让生成器创建<tag></tag>而不是<tag/>
EN

Stack Overflow用户
提问于 2010-11-24 19:40:32
回答 3查看 727关注 0票数 1

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

代码语言:javascript
复制
xml.tag do
end

我得到了我想要的

代码语言:javascript
复制
<tag></tag>

但是我想要短一点

代码语言:javascript
复制
xml.mytag

这给了我

代码语言:javascript
复制
<mytag/>

但我想

代码语言:javascript
复制
<mytag></mytag>

我必须传递什么作为选项。

致敬Kai

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-24 19:56:16

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

票数 2
EN

Stack Overflow用户

发布于 2010-11-24 19:53:58

为什么你想要<mytag></mytag>而不是<mytag/>?因为输出是XML,所以下游应用程序不应该知道或关心差异。

根据Infoset规范(Appendix D point 7),“两种形式的空元素:<foo/><foo></foo>之间的区别”没有在XML Information Set中表示。

这并没有回答你的“如何”的问题,但是如果你发现你实际上不需要做你想要做的事情,它可能会把你从困难和不必要的徒劳无益的追逐中解救出来。

票数 2
EN

Stack Overflow用户

发布于 2010-11-24 20:05:13

好的,空字符串很好,我发现了另一个单行的空块。

代码语言:javascript
复制
xml.mytag{}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4266329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档