Announcement

Collapse
No announcement yet.

Entfernung nicht gewünschter Knoten mit Beibehaltung der XML-Hierarchie

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Entfernung nicht gewünschter Knoten mit Beibehaltung der XML-Hierarchie

    Es liegt ein Verzeichnisbaum mit folgender Struktur vor:

    Code:
    <node id=1>
      <node id=2 />
      <node id=5>
        <node id=3 />
        <node id=6 />
      </node>
    </node>
    <node id=7>
      <node id=8 />
    </node>
    Ein XPath 2.0-Ausdruck liefert folgende IDs: 1, 5, 6, 8. Anhand von dieser Ergebnismenge muss ein neuer Baum aufgebaut werden:

    Code:
    <node id=1>
      <node id=5>
        <node id=6 />
      </node>
    </node>
    <node id=8 />
    Ist es möglich solch eine Abfrage in XPath / XQuery / XSLT zu definieren, die anhand von ids neue Bäume erstellt?

  • #2
    Es gibt sicherlich noch andere Lösungen (bessere?), aber so würde ich das in einem Stylesheet machen:
    Code:
    <xsl:template match="//node[@id='1'] | //node[@id='5'] | //node[@id='6'] | //node[@id='8']">
      <node>
        <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
        <xsl:apply-templates/>
      </node>
    </xsl:template>

    Comment

    Working...
    X