微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml – 使用XSLT添加/插入子元素

我有以下情况:

我需要将子元素添加到现有的XML标记中.

我当前的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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。