2
我已经尝试将以下XML转换为使用创建的XSLT样式表的另一个XML文档。输出没有给我我想要的,输出不是正确的xml节点,也不是输出标签。定义XSLT以将XML转换为XML
请有人帮忙。
的XML文件被转化看起来是这样的:
<?xml version="1.0" encoding="utf-8"?>
<Extract xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Header>
<SubscriptionName>Auto_Clients</SubscriptionName>
<SubscriptionID>1731</SubscriptionID>
<ExecutionID>11987</ExecutionID>
<ODIFeed>Clients</ODIFeed>
<DataDateTime>2013-07-22T13:53:49</DataDateTime>
<FirmCodes>
<FirmCode>ZR</FirmCode>
</FirmCodes>
<Environment>INTEGRATION</Environment>
<NoOfRecords>1</NoOfRecords>
</Header>
<Clients>
<Client>
<FirmCode>ZR</FirmCode>
<ClientReference>ZR1071049</ClientReference>
<ClientType>02</ClientType>
<ShortName>ZRTEST</ShortName>
<FullName>CLTTEST</FullName>
</Client>
</Clients>
</Extract>
我已经创建XSLT样式表是这样的
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="table">
<Clients>
<xsl:for-each select="Client">
<Client>
<FirmCode>
<xsl:value-of select="FirmCode" />
</FirmCode>
<ClientReference>
<xsl:value-of select="ClientReference" />
</ClientReference>
<ClientType>
<xsl:value-of select="ClientType" />
</ClientType>
<ShortName>
<xsl:value-of select="ShortName" />
</ShortName>
<FullName>
<xsl:value-of select="FullName" />
</FullName>
</Client>
</xsl:for-each>
</Clients>
</xsl:template>
</xsl:stylesheet>
我所需的输出是一样的东西:
<Clients>
<Client>
<FirmCode>ZR</FirmCode>
<ClientReference>ZR1071049</ClientReference>
<FullName>CLTTEST</FullName>
</Client>
</Clients>
这并没有改变输出,由于某种原因,我得到的输出是文本,输出的所有节点数据不仅仅是我感兴趣的选择节点,也没有输出标签。 – DBoyDev
@DBoyDev你可以看到它在这里工作:http://xsltransform.net/naZXpWx –
不,这个问题是别的 - 请参阅:http://stackoverflow.com/questions/34758492/xslt-transform-doesnt-work-直到-I-除去根节点/ 34762628#34762628 –