首页 > 解决方案 > 将元素添加到scala中的xml字符串

问题描述

我有以下相对简单的场景,但它正在工作。

我需要一个附加到我的 xml 字符串,这是场景:

val xmlStr = "<return> <numberPin> 123456 </numberPin> </return>"

我需要一些方法来添加元素数据并返回下面的字符串,如果可能的话,我想要一些带有正则表达式的解决方案

"<return> <numberPin> 123456 </numberPin> <date> 2019-09-04 00:00:00 </date> </return>"

标签: scalaapache-sparkapache-spark-sql

解决方案


您可以首先创建一个可以在运行时更新的模板 xml。

您可以执行以下操作:

def updateXml (xmlStr:String, dateContent: String) = {
  xmlStr.replace("DATE_DATA", dateContent)
}

val xmlStr = "<return> <numberPin> 123456 </numberPin> DATE_DATA </return>"
val dateData = "<date> 2019-09-04 00:00:00 </date>"
updateXml(xmlStr, dateData)

另一种选择是在文件中创建一个 xml 模板(如果 xml 内容像一个大文件)。在您的代码中读取它并在运行时插入所需的数据,如上面的示例所示(我将 DATE_DATA 填充到模板中并在运行时使用该方法替换它)。


推荐阅读