创建XML时如何删除空格

时间:2018-11-28 07:52:56

标签: xml scala whitespace

给出以下代码:

<something>

  <otherchild>my other child value</otherchild>
</something>

如果条件为假,我将得到以下输出:

{ if.. }

因此,如果条件为false且未放置元素,则{{1}}块会导致多余的空行。

如何避免这种情况?我正在构建带有许多可选元素的相当大的XML,这样做时会导致多余的空白和空行。

在创建XML之后,是否有一种方法可以完全折叠空白和换行符,所以我将所有内容都放在一行中了吗? (无论如何,这都是我的首选样式,因为它用于机器对机器的通信)

1 个答案:

答案 0 :(得分:4)

好像您必须手动添加子级是一种方法,另一种方法是使用scala.xml.Utility.trim。 我已经把你的代码重新写成这样:

 def createXmlOutput(condition:Boolean) : Elem =
 {
   val parent: Elem = <something>
                      <otherchild>{ "my other child value" }</otherchild>
                      </something>
  val child = <child>{ "my child value if condition would be true" }</child>
  if(condition == true) parent.copy(child = parent.child :+ child)
   else parent
 }

希望这会有所帮助

如果您不是手动添加孩子,也可以使用类似scala.xml.Utility.trim(createXmlOutput(true))的东西。