2016-04-14 1 views
0

My Input XML в ниже форматеПоследовательность генерации Число между несколькими тегами

<root> 
    <entity> 
     <entityrecord> 
      <field> 
       <id>Parent</id> 
       <value>P-1</value> 
      </field> 
      <entity> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-1</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-2</value> 
        </field> 
       </entityrecord> 
      </entity> 
     </entityrecord> 
     <entityrecord> 
      <field> 
       <id>Parent</id> 
       <value>P-2</value> 
      </field> 
      <entity> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-1</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-2</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-3</value> 
        </field> 
       </entityrecord> 
      </entity> 
     </entityrecord> 
     <entityrecord> 
      <field> 
       <id>Parent</id> 
       <value>P-3</value> 
      </field> 
      <entity> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-1</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-2</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-3</value> 
        </field> 
       </entityrecord> 
      </entity> 
     </entityrecord> 
    </entity> 
</root> 

и мой выход Формат должен быть

1^P-1 
2^C-1 
3^C-2 
4^P-2 
5^C-1 
6^C-2 
7^C-3 
8^P-3 
9^C-1 
10^C-2 
11^C-3 

Я попробовал много различных методов, чтобы это сделать, но ничего не вышло. Я не смог сгенерировать порядковый номер. Может ли кто-нибудь помочь мне в этом случае?

+0

Вы можете также разместить свой код? – Micho

+0

Пожалуйста, объясните свою логику словами. Почему число 6 повторяется? - P.S. Выберите XSLT 1.0 или 2.0, а не оба. –

+0

{1^Р-1 -^ С-1 -^ С-2 -^ С-2 -^ С-1 -^ С-2 -^ С-3 -^ С-3 9^C-1 10^C-2 11^C-3} –

ответ

1

Предполагая, что повторение 6 в предоставленном выходе является ошибкой, попробуйте:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="text" encoding="UTF-8"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="field"> 
    <xsl:number count="field" level="any"/> 
    <xsl:text>^</xsl:text> 
    <xsl:value-of select="value"/> 
    <xsl:text>&#10;</xsl:text> 
</xsl:template> 

</xsl:stylesheet> 

Применительно к вашему примеру вход, то результат будет:

1^P-1 
2^C-1 
3^C-2 
4^P-2 
5^C-1 
6^C-2 
7^C-3 
8^P-3 
9^C-1 
10^C-2 
11^C-3 

 Смежные вопросы

  • Нет связанных вопросов^_^