我有一个特定的需求,我正在解析一个文件,然后我需要根据我解析的数据创建一个 xml 文件。
例如,我创建了两个地图(tableMap、fieldMap)。
tableMap: [1:{Table=patient}, 2:{Table=provider}]
fieldMap: [1:{Table=patient, Field=id}, 2:{Table=patient, Field=gender},
3:{Table=provider, Field=id}, 4:{Table=provider, Field=name}]
使用 Groovy,我将从 tableMap 的循环开始并获取第一个表(患者)。然后我会遍历 fieldMap 来获取与 Table 匹配的字段。
下面是一些示例代码,显示了我想如何使用“value.Table(tag:'01',value.Field)”动态创建节点和元素名称:
tableMap.each
{ tKey, tValue ->
// Find the Table value in the fieldMap that matches the value
// in the tableMap
def tableFields = fieldMap.findAll { fKey, fValue ->
fValue.Table == tValue.Table
}
tValue.Table = []
// Create an XML file with all the tables and field names collected.
xsdToXml.root()
{
// dynamically create xml nodes
tableFields.each
{ key, value ->
value.Table + '()' {
value.Table(tag:'01',value.Field)
}
}
}
}
我不确定这是否可行,如果不是,我只想有人告诉我,这样我就不会再浪费时间了。如果是,我将不胜感激如何做到这一点的一个例子。
谢谢 - 卡尔