我尝试使用Scala转换器在XML文档中的文本周围添加CDATA部分。我使用以下变压器:
object AddCDATATransformer extends RewriteRule {
override def transform(n: Node): Seq[Node] = n match {
case n: Text => scala.xml.PCData(n.text)
case _ => n
}
}
但这不起作用。文本在那里,但CDATA部分不是,即我希望<![CDATA[text]]>
而不是text
。有什么想法吗?
PS1。我发现有一些-Xxml:coalescing
标志,但找不到任何关于如何使用它的文档。
PS2。奇怪的是,在另一个变换器中我可以用节点复制产生CDATA部分:
n.copy(child = scala.xml.PCData(v) ++ n.child.tail)