我有一个给定的源XML文档,其结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<sample>
<definition>
<variable>
<name>object01_ID_138368350261919620</name>
<value>NUL</value>
</variable>
<variable>
<name>param01_ID_138368350261919621</name>
<value>10</value>
</variable>
<variable>
<name>param02_ID_138368350261919622</name>
<value>100</value>
</variable>
</definition>
<override>
<assignment>
<name>object01_ID_138368350261919620</name>
<path>module01/object01</path>
</assignment>
<assignment>
<name>param01_ID_138368350261919621</name>
<path>module01/object01/param01</path>
</assignment>
<assignment>
<name>param02_ID_138368350261919622</name>
<path>module01/object01/param02</path>
</assignment>
</override>
</sample>
Run Code Online (Sandbox Code Playgroud)
源XML的特征是:元素中的
每个元素对应于元素中的一个元素.这种1:1关系由其元素的内容确定. <assignment><override><variable><definition><name>
转换和目标XML的要求是:
根据<path>元素内容的模式,在<assignment>元素的<override>元素中,我想添加一个新<assignment>元素.需要注意的是,<assignment>元素是主要信息.因此,总是首先,必须创建<assignment>具有其内容<path>和<name>内容的新元素,并且必须创建<variable>具有相同<name>内容和特定<value>内容的相应新元素并将其插入<definition>元素中的最后位置.例如,要添加param03,正确的结果应如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<sample>
<definition>
<variable>
<name>param00_ID_138368350261919620</name>
<value>NUL</value>
</variable>
<variable> …Run Code Online (Sandbox Code Playgroud) xslt ×1