Mathias: Nummer zusammen bauen

Beitrag lesen

Hi svg4you,

Danke für dein Antwort, das ist aber nicht das was ich meinte [ das hätte ich auch noch hinbekommen ;-)]. Vielleicht hab ich mit etwas zu umständlich ausgedrückt:

das Problem ist nicht einfach das Attribut Nr auszulesen, sondern das Zusammenbauen der neuen Nr, welche aus den einzelnen Attributen Nr der vorigen Ebene besteht:

<teil1 Nr1/>                   1. Ebene
    <teil2 Nr10/>              2. Ebene
        <teil3 Nr10/>          3. Ebene
    <teil4 Nr20>               2. Ebene
<teil5 Nr2>                    1. Ebene
<teil6 Nr3>                    1. Ebene
    <teil7 Nr10/>              2. Ebene
    <teil8 Nr20/>              2. Ebene

Soll ergeben:

<teil_neu nr1 />
<teil_neu nr1.10 />
<teil_neu nr1.10.10 />
<teil_neu nr1.10.20 />
<teil_neu nr2 />
<teil_neu nr3 />
<teil_neu nr3.10 />
<teil_neu nr3.20 />

Konkret: mein XML:

BoQCtgy sind die Teile. RNoPart ist die Teilenummer. In der letzten Hierarchieebene BoQCtgy=Item. Insgesamt können es bis zu 7 Hierarchiestufen sein.

<?xml version="1.0" encoding="UTF-8" ?>

  • <GAEB>
  • <GAEBInfo>
  • <PrjInfo>
  • <Award>
      + <AwardInfo>
      - <BoQ>
        - <BoQBody>
          + <Remark>
          - <BoQCtgy RNoPart="1">
            + <LblTx>
            - <BoQBody>
              - <BoQCtgy RNoPart="10">
              + <LblTx>
                - <BoQBody>
                  - <BoQCtgy RNoPart="10">
                    - <BoQBody>
                      - <Itemlist>
                        + <Item ID="BPNABIDI" RNoPart="10">
                        + <Item ID="BPNABNFI" RNoPart="20">
                        </Itemlist>
                      </BoQBody>
                    </BoQCtgy>
                  </BoQBody>
                </BoQCtgy>
              </BoQBody>
            </BoQCtgy>
          </BoQBody>
      </BoQ>
      </Award>
      </GAEB>

Soll ergeben:
<Teil Nr 1/>
<Teil Nr 1.10/>
<Teil Nr 1.10.10/>
<Teil Nr 1.10.10.10/>
<Teil Nr 1.10.10.20/>