我使用Scala xml PrettyPrinter库来格式化xml文件。它删除了具有CDATA部分的标签内容。如何防止PrettyPrinter删除CDATA?
这是代码:
val printer = new scala.xml.PrettyPrinter(80, 2)
printer.format(XML.loadString(input))
它会将<textFieldExpression><![CDATA[something]]></textFieldExpression>
转换为<textFieldExpression>something</textFieldExpression>
答案 0 :(得分:2)
我不认为它是删除CDATA的PrettyPrinter,而是XML.loadString(...)。如果您尝试创建这样的XML并打印它:
val input = <textFieldExpression>{new xml.PCData("something")}</textFieldExpression>
val printer = new scala.xml.PrettyPrinter(80, 2)
printer.format(XML.loadString(input.toString))
// => <textFieldExpression>something</textFieldExpression>
printer.format(input)
// => <textFieldExpression><![CDATA[something]]></textFieldExpression>