MudGuard: XPath-Ausdruck: Element mit id 0, wenn nicht vorhanden, mit id 1

Beitrag lesen

Hi,

ich hab XMLs von diesem Aussehen (auf's Wesentliche reduziert):

<root>
  <partner>
    <id>7</id>
    <name>seven</name>
  </partner>
  <partner>
    <id>1</id>
    <name>one</name>
  </partner>
  <partner>
    <id>0</id>
    <name>zero</name>
  </partner>
</root>

Es können wesentlich mehr partner-Elemente vorhanden sein, aber mindestens 1.
Die IDs sind immer positive Ganzzahlen.
Die Elemente sind unsortiert, ich kann also nicht einfach das erste partner-Element nehmen.

Dazu brauche ich jetzt den name, aus dem Element mit der niedrigsten id, falls die id entweder 0 oder 1 ist.

/root/partner[./id = 1]/name gibt mir 'one',
/root/partner[./id = 0]/name gibt mir 'zero',
falls beide vorhanden sind.

Aber das Kombinieren bekomm ich noch nicht hin, hab auch keine Idee dazu.

cu,
Andreas a/k/a MudGuard