Hallo Zusammen
Bin gerade dabei mich in XSLT einzuarbeiten, da ich Daten aus XML Dateien in eine DB importieren muss. Dabei habe ich folgendes Problem:
Ich habe eine Import Datei die folgendermassen aussieht:
<?xml version = '1.0' encoding = 'iso-8859-1'?>
<objlist>
<obj key="">
<attr id="FK1">A1</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung"></attr>
</obj>
<obj key="">
<attr id="FK1">A3</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung"></attr>
</obj>
<obj key="">
<attr id="FK1">A1</attr>
<attr id="FK2">A4</attr>
<attr id="Bezeichnung"></attr>
</obj>
</objlist>
und eine Datei die aus einer DB kommt, die sieht folgendermassen aus:
<?xml version = '1.0' encoding = 'iso-8859-1'?>
<result>
<objlist>
<obj key="1111">
<attr id="FK1">A1</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung1">AAA</attr>
<attr id="Bezeichnung2">BBB</attr>
<!-- Hier stehen noch weitere ATTR Elemente -->
</obj>
<obj key="2222">
<attr id="FK1">A3</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung1">CCC</attr>
<attr id="Bezeichnung2">BBB</attr>
<!-- Hier stehen noch weitere ATTR Elemente -->
</obj>
<obj key="3333">
<attr id="FK1">A1</attr>
<attr id="FK2">A4</attr>
<attr id="Bezeichnung1">EEE</attr>
<attr id="Bezeichnung2">AAA</attr>
<!-- Hier stehen noch weitere ATTR Elemente -->
</obj>
</objlist>
<result>
Für den Import in die DB muss ich eine Datei erzeugen die gleich aussieht, wie die Erste, aber zusätzlich wie in der zweiten im obj Element den Wert des Key Attributes enthält.
Ich Denke es müsste mittels document() und key() möglich sein dies zu realisieren. Ich habe aber nicht herausgefunden wie. Oder gibt es sogar eine bessere Lösung?
Für ein Tipp wäre ich euch dankbar.
Liebe Grüsse
Dani
Bin gerade dabei mich in XSLT einzuarbeiten, da ich Daten aus XML Dateien in eine DB importieren muss. Dabei habe ich folgendes Problem:
Ich habe eine Import Datei die folgendermassen aussieht:
<?xml version = '1.0' encoding = 'iso-8859-1'?>
<objlist>
<obj key="">
<attr id="FK1">A1</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung"></attr>
</obj>
<obj key="">
<attr id="FK1">A3</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung"></attr>
</obj>
<obj key="">
<attr id="FK1">A1</attr>
<attr id="FK2">A4</attr>
<attr id="Bezeichnung"></attr>
</obj>
</objlist>
und eine Datei die aus einer DB kommt, die sieht folgendermassen aus:
<?xml version = '1.0' encoding = 'iso-8859-1'?>
<result>
<objlist>
<obj key="1111">
<attr id="FK1">A1</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung1">AAA</attr>
<attr id="Bezeichnung2">BBB</attr>
<!-- Hier stehen noch weitere ATTR Elemente -->
</obj>
<obj key="2222">
<attr id="FK1">A3</attr>
<attr id="FK2">A2</attr>
<attr id="Bezeichnung1">CCC</attr>
<attr id="Bezeichnung2">BBB</attr>
<!-- Hier stehen noch weitere ATTR Elemente -->
</obj>
<obj key="3333">
<attr id="FK1">A1</attr>
<attr id="FK2">A4</attr>
<attr id="Bezeichnung1">EEE</attr>
<attr id="Bezeichnung2">AAA</attr>
<!-- Hier stehen noch weitere ATTR Elemente -->
</obj>
</objlist>
<result>
Für den Import in die DB muss ich eine Datei erzeugen die gleich aussieht, wie die Erste, aber zusätzlich wie in der zweiten im obj Element den Wert des Key Attributes enthält.
Ich Denke es müsste mittels document() und key() möglich sein dies zu realisieren. Ich habe aber nicht herausgefunden wie. Oder gibt es sogar eine bessere Lösung?
Für ein Tipp wäre ich euch dankbar.
Liebe Grüsse
Dani
Comment