Wie man Knoten-Wert mit variable-Knoten-name?

Ich habe ein XML-Dokument wie:

<data>
    <item type="apple">
        <misc>something</misc>
        <appleValue>23</appleValue>
        <misc2>something else</misc2>
    </item>
    <item type="banana">
        <bananaValue>47</bananaValue>
        <random>something</random>
    </item>
</data>

Kann ich die Einzelteile erhalten mit doc("data.xml")/data/item aber ich brauche, um den text aus den Elementen, die am Ende mit Value. Also ich würde gerne "23" und "47", aber ich muss nicht unbedingt wissen, den Namen der Elemente, was bedeutet, alles, was ich wirklich weiß ist, gibt es Elemente, die in Value ich weiß nicht, ob es appleValue, bananaValue usw. außer, dass ich mir ansehen konnte, die type Attribut und Aufbau einer Zeichenkette.

let $type := (doc("data.xml")/data/item)[1]/@type
doc("data.xml")/data/item/$typeValue

...Die Letzte Zeile ist das, was ich versuche zu bekommen, klar, dass ist nicht ganz richtig, aber ich brauche zu finden-Elemente, deren name bekannt ist basierend auf eine variable (in einer Variablen gespeichert, wie $type) und "Wert".

Irgendwelche Ideen? Ich weiß, das variable element Namensgebung ist seltsam/seltsam/schlecht...aber das ist so wie es ist und ich habe mit ihm zu beschäftigen.

InformationsquelleAutor codecraig | 2012-02-03
Schreibe einen Kommentar