2014-06-27 32 views
0

我有一個XML作爲輸出,並基於此,我想創建動態輸入隱藏字段。假設我有以下XML作爲輸出如何使用xml動態地隱藏字段

<?xml version="1.0"?> 
<MB> 
    <RQ> 
     <fldDeviceId><![CDATA[Iyh4KnNEU6GDcl4qCQMBzil2wOI=]]></fldDeviceId> 
     <uid><![CDATA[fdsfs]]></uid> 
     <Account><![CDATA[fsdfds]]></Account> 
     <OperatorType><![CDATA[M]]></OperatorType> 
     <Mobile><![CDATA[9029938117]]></Mobile> 
     <User-Agent><![CDATA[WindowsPhone]]></User-Agent> 
     <sessionKey><![CDATA[83727d34-bfef-45ca-955b-4695d035cd98]]></sessionKey> 
     <Account_txt><![CDATA[fsafsa- Chandivali, Mumbai]]></Account_txt> 
     <Amount><![CDATA[10]]></Amount> 
     <requestType><![CDATA[ICPMR]]></requestType> 
     <OperationId><![CDATA[dfs]]></OperationId> 
     <Operator_txt><![CDATA[AIRCEL]]></Operator_txt> 
     <fldLangId><![CDATA[en-US]]></fldLangId> 
     <Operator><![CDATA[ARC]]></Operator> 
     <TransSeq><![CDATA[03]]></TransSeq> 
    </RQ> 
    <RS> 
     <CardNo>#5435345</CardNo> 
     <AuthChar1>B</AuthChar1> 
     <AuthChar2>H</AuthChar2> 
     <AuthChar3>O</AuthChar3> 
    </RS> 
</MB> 

在有可能的標籤千元,我要在輸入隱藏的申請像XSLT轉換如下。

<input type="hidden" id="{fldDeviceId}" value="fldDeviceId" /> 
<input type="hidden" id="{uid}" value="uid" /> 

等等......我不想寫千行。如何做到這一點只是幫助我。

回答

0

正是在XML記錄您要「隱藏」目前還不清楚,但假設它僅僅是一個下RQ的,你可以定義像這樣

<xsl:template match="RQ/*"> 
    <input type="hidden" id="{.}" value="{local-name()}" /> 
</xsl:template> 

模板試試這個XSLT的示例

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> 
    <xsl:output indent="yes"/> 

    <xsl:template match="/"> 
     <xsl:apply-templates select="RQ/*" /> 
    </xsl:template> 

    <xsl:template match="RQ/*"> 
     <input type="hidden" id="{.}" value="{local-name()}" /> 
    </xsl:template> 
</xsl:stylesheet>