1
XMLをより簡略化したフォーマットに変換する必要があります。これはXSLTで行うことができると確信していますが、わかりません。出力要素名が動的なXMLを変換しますか?
私は変換する必要があり:
<Fields>
<Element1>Value 1</Element1>
<Element2>Value 2</Element2>
</Fields>
に
<Fields>
<Field>
<Name>Element1</Name>
<Value>Value 1</Value>
</Field>
<Field>
<Name>Element2</Name>
<Value>Value 2</Value>
</Field>
</Fields>
これは私が現在持っているものです。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*">
<xsl:copy>
<xsl:copy-of select="Fields/Field/*"/>
<xsl:apply-templates select="*[name()]"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
*重要:注意:有効なxml要素名の規則があります。 (1)名前は数字で始めることはできません。 (2)名前は、ハイフンやピリオドなどの特殊文字で始めることはできません。 (3)名前には、ピリオド、ハイフン、アンダースコア、コロン以外の特殊文字を使用することはできません。 – uL1
double translateメソッド - ' 'を使用して、 $ validChars'は、名前に許可したいすべての文字を含む変数です。しかし、これは少し原油です。 –
Flynn1179