我将数据从一个文件转换为另一个文件。该程序的任务是从源文件中获取数据并转储到中间模板文件中,从而创建一个新文件。
问题是我遇到了混合内容的问题。
源文件
源文件1:
<para>This para is fine</para>
源文件2:
<para><emph>This</emph> para is also fine</para>
源文件3:
<para>This para is <emph>not</emph> fine</para>
中级模板文件
targetPara.xml:
<p></p>
targetEmph.xml:
<b></b>
输出文件
目标文件1:
<p>This para is fine</p>
目标文件2:
<p><b>This</b> para is also fine</p>
目标文件3:
<p>This para is not fine</p>
Groovy代码
class Para {
String getNode(Node sourceNode) {
GPathResult targetNode = new XmlSlurper(false, false, false ).parse(new File("C:/targetPara.xml"))
try {
sourceNode.children().each { Node tag ->
if(tag.name()=="emph") {
Emph childElement = new Emph()
String childNode = childElement.getNode(tag)
GPathResult child = new XmlSlurper(false, false ).parseText(childNode)
targetNode.appendNode(child)
}
}
} catch(Exception e) {
targetNode.appendNode(sourceNode.text())
}
return XmlUtil.serialize(targetNode)
}
}