Ich bin neu in XSLT. Ich habe eine Anforderung, ein XML-Name-Wert-Paar in Ziel-XML zu konvertieren. Ich muss eine Ziel-XML generieren, wobei jeder FieldName ein Elementname ist und der Wert FieldValue ist. Hier finden Sie die Ausgabe, die ich brauche. Vielen Dank im Voraus für die Hilfe.XSLT: Müssen Name Wert Paar Inhalt in XML konvertieren
Quelle XML:
<SC>
\t <Header>
\t \t <Record>
\t \t \t <FieldName>Schema</FieldName>
\t \t \t <FieldValue>OrderHeader</FieldValue>
\t \t </Record>
\t \t <Record>
\t \t \t <FieldName>Order</FieldName>
\t \t \t <FieldValue>1234</FieldValue>
\t \t </Record>
\t </Header>
\t <Detail>
\t \t <Record>
\t \t \t <FieldName>Schema</FieldName>
\t \t \t <FieldValue>OrderItem</FieldValue>
\t \t </Record>
\t \t <Record>
\t \t \t <FieldName>Item</FieldName>
\t \t \t <FieldValue>1</FieldValue>
\t \t </Record>
\t \t <Record>
\t \t \t <FieldName>Qty</FieldName>
\t \t \t <FieldValue>10</FieldValue>
\t \t </Record>
\t </Detail>
\t <Detail>
\t \t <Record>
\t \t \t <FieldName>Schema</FieldName>
\t \t \t <FieldValue>OrderItem</FieldValue>
\t \t </Record>
\t \t <Record>
\t \t \t <FieldName>Item</FieldName>
\t \t \t <FieldValue>2</FieldValue>
\t \t </Record>
\t \t <Record>
\t \t \t <FieldName>Qty</FieldName>
\t \t \t <FieldValue>20</FieldValue>
\t \t </Record>
\t </Detail>
</SC>
Ziel XML generiert werden:
<SC>
<OrderHeader>
<Order>1234</Order>
</OrderHeader>
<OrderItem>
<Item>1</Item>
<Qty>10</Qty>
</OrderItem>
<OrderItem>
<Item>2</Item>
<Qty>20</Qty>
</OrderItem>
</SC>
XSLT, die ich versucht: Ich bin nicht th bekommen e gewünschte Ausgabe
<xsl:template match="Header">
<xsl:apply-templates select="Record"/>
</xsl:template>
<xsl:template match="Record">
<xsl:if test="FieldName = 'Structure'">
<xsl:element name="{FieldValue}">
<xsl:value-of select="./text()"/>
</xsl:element>
</xsl:if>
<xsl:element name="{FieldName}">
<xsl:value-of select="FieldValue"/>
</xsl:element>
</xsl:template>