【问题标题】:XML to XML transformation by creating XSL通过创建 XSL 将 XML 转换为 XML
【发布时间】:2016-03-13 01:26:01
【问题描述】:

我想创建“XSL”模板或文件来转换这个 xml 代码


<pets xmlns="http://pets.com">
  <cat>
    <name>Alice</name>
    <age>9</age>
  </cat>

  <cat>
    <name>Bruce</name>
    <age>11</age>
  </cat>

  <cat>
    <name>Rocco</name>
    <age>11</age>
  </cat>

  <dog>
    <name>Midnight</name>
    <age>6</age>
  </dog>

  <dog>
    <name>Rudy</name>
    <age>7</age>
  </dog>

到这个 XML

<cats xmlns="http://pets.com">
  <cat name="Alice" age="9"/>
  <cat name="Bruce" age="11"/>
  <cat name="Rocco" age="11"/>  
</cats>

谁能告诉或告诉我如何做到这一点?

【问题讨论】:

  • 你到底在哪里坚持这个?
  • 我需要获取新 XML 所需的 xsl 代码
  • 这不是编码服务。

标签: xml xslt xslt-1.0 xslt-2.0 transformation


【解决方案1】:

你可以试试:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:pets="http://pets.com">
    <xsl:output method="xml" encoding="UTF-8" indent="yes" />

    <xsl:template match="pets:pets">
        <xsl:element name="cats" namespace="http://pets.com">
            <xsl:apply-templates select="pets:cat" />
        </xsl:element>
    </xsl:template>

    <xsl:template match="pets:cat">
        <xsl:copy>
            <xsl:attribute name="name"><xsl:value-of select="pets:name"/></xsl:attribute>
            <xsl:attribute name="age"><xsl:value-of select="pets:age"/></xsl:attribute>
        </xsl:copy>
    </xsl:template>

</xsl:transform>

【讨论】:

  • @EddieAlshehri 如果您的问题已经解决,请接受答案。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
  • 2014-07-30
  • 2015-06-05
  • 1970-01-01
  • 2014-08-11
相关资源
最近更新 更多