我有以下情况:
我当前的XML看起来像这样,它包含一个空的(自动关闭)“< attr tag = ... />”:
<?xml version="1.0" encoding="UTF-8"?> <dataset> ... <attr tag="00081110" vr="SQ" pos="-1" name="Referenced Study Sequence" len="-1"/> ... </dataset>
转换后,它应该看起来像这样,添加/插入2个子元素(由< item>元素包围):
<?xml version="1.0" encoding="UTF-8"?> <dataset> ... <attr tag="00081110" vr="SQ" pos="-1" name="Referenced Study Sequence" len="-1"> <item id="1" pos="28" len="-1"> <attr tag="00081150" vr="UI" pos="36" name="Referenced SOP Class UID" vm="0" len="3">991</attr> <attr tag="00081155" vr="UI" pos="44" name="Referenced SOP Instance UID" vm="0" len="3">992</attr> </item> </attr> ... </dataset>
我怎么能实现这个目标?我尝试了各种随机设置,但在我最好的镜头中,我最后用一个子元素替换父元素(tag =“00081110”).
解决方法
<xsl:template match="attr"> <xsl:copy> <xsl:copy-of select="@*" /> <item id="1" pos="28" len="-1"> <attr tag="00081150" vr="UI" pos="36" name="Referenced SOP Class UID" vm="0" len="3">991</attr> <attr tag="00081155" vr="UI" pos="44" name="Referenced SOP Instance UID" vm="0" len="3">992</attr> </item> </xsl:copy> </xsl:template>