我有一个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 :(得分: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>