我使用XSLT 1.0我輸入的XML是如下XSL生成XML名稱值對
<?xml version="1.0" encoding="UTF-8"?>
<Employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<FirstName>John</FirstName>
<LastName>Peter</LastName>
<Initial>T</Initial>
<Spouse>
<FirstName>Rita</FirstName>
<LastName>Hudson</LastName>
</Spouse>
</Employee>
我一個試圖寫一個XSL來產生下面的輸出...
<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfstringVariable xmlns="http://schemas.abc.org/2004/07/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<stringVariable>
<name>ServerName</name>
<value>tmn.eu.com</value>
</stringVariable>
<stringVariable>
<name>EmpFirstName</name>
<value>John</value>
</stringVariable>
<stringVariable>
<name>EmpLastName</name>
<value>Peter</value>
</stringVariable>
<stringVariable>
<name>SpouseFirstName</name>
<value>Rita</value>
</stringVariable>
<stringVariable>
<name>SpouseLastName</name>
<value>Hudson</value>
</stringVariable>
</ArrayOfstringVariable>
的輸出xml包含ArrayOfstringVariable stringVariable名稱值對.. 該名稱是硬編碼的,值來自輸入xml .. 名稱值「ServerName」是硬編碼的。
我XSL代碼嘗試以下,但它創造名稱值對與輸入XML的所有元素
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" omit-xml-declaration="no"
encoding="UTF-8" indent="yes" />
<xsl:template match="Employee">
<ArrayOfstringVariable>
<xsl:apply-templates select="*"/>
</ArrayOfstringVariable>
</xsl:template>
<xsl:template match="*">
<stringVariable>
<name>
<xsl:value-of select="local-name()"/>
</name>
<value>
<xsl:value-of select="."/>
</value>
</stringVariable>
</xsl:template>
</xsl:stylesheet>
誰能幫我寫XSL來產生上面的輸出?
在此先感謝
你一定要試一下先..你會得到幫助糾正你的錯誤。 – 2014-12-02 09:24:31
嗨Lingamurthy,我試過 的 ArrayOfstringVariable> XSL:模板> 的 的 的 stringVariable> XSL:模板>但它複製源xml中的每個元素 –
2014-12-02 10:05:17
將代碼添加爲註釋並沒有多大的可讀性。你可以編輯你的問題,雖然 – 2014-12-02 11:27:58