I have following java xml file which is having array and level=1 and length=3,
I tried using for-each but how to get all values upto length =3 ?
input xml -
<field name="demoCon">
<array class="com.demo.xml.Message" length="3" level="1">
<object class="com.demo.xml.Message">
<field name="myCode">
<value class="java.lang.String">123</value>
</field>
<field name="Name">
<value class="java.lang.String"/>
</field>
</object>
<object class="com.demo.xml.Message">
<field name="myCode">
<value class="java.lang.String">456</value>
</field>
<field name="Name">
<value class="java.lang.String"/>
</field>
</object>
<object class="com.demo.xml.Message">
<field name="myCode">
<value class="java.lang.String">789</value>
</field>
<field name="Name">
<value class="java.lang.String"/>
</field>
</object>
</array>
</field>
xslt i tried with following code -
<demoCon>
<xsl:for-each select="field[@name= 'demoCon']/array[@class='com.demo.xml.Message']/object[@class='com.demo.xml.Message']">
<xsl:variable name="var:DemoName2" select="@name" />
<xsl:variable name="var:DemoValue2" select="value/text()" />
<myCode>
<xsl:if test="string($var:varName2)='myCode'">
<xsl:value-of select="$var:varValue2" />
</xsl:if>
</myCode>
<Name>
<xsl:if test="string($var:varName2)='conditionName'">
<xsl:value-of select="$var:varValue2" />
</xsl:if>
</Name>
</xsl:for-each>
</demoCon>
am i missing something I guess yes level=1 and length = 3 in above xslt code.