Scala中CDATA中的变量

Scala中CDATA中的变量,scala,cdata,scala-xml,Scala,Cdata,Scala Xml,有没有办法将要展开的变量放入scala中的cdata部分 val reason = <reason><![CDATA[ {failedReason} ]]></reason> val原因= 我不确定您是否可以通过本机XML支持实现这一点,但您可以执行以下操作: scala.xml.XML.loadString("<reason><![CDATA[%s]]></reason>".format(failedReason))

有没有办法将要展开的变量放入scala中的cdata部分

val reason = <reason><![CDATA[ {failedReason} ]]></reason>
val原因=

我不确定您是否可以通过本机XML支持实现这一点,但您可以执行以下操作:

scala.xml.XML.loadString("<reason><![CDATA[%s]]></reason>".format(failedReason))

这可能更简单:

val reason = <reason>{scala.xml.PCData(failedReason)}</reason>
valreason={scala.xml.PCData(failedReason)}

你可能想逃避非法的
]>
内容。replaceAll(“]]>”,“]]]]]>”
我不确定@BrunoBieth的评论是否适用于这个(很好!)答案。它已经正确处理了“gotcha”字符串:
{scala.xml.PCData(“]]>”)}
变成了
]]>
val reason = <reason>{scala.xml.PCData(failedReason)}</reason>