# Xslt Problem



## Sascha-87 (4. Nov 2011)

Morgen, 

ich habe seit ca. einer Woche ein Problem mit Xslt und hoffe mir kann hier jemand weiterhelfen. 

Die Xml:

```
<Beteiligung>
 <Beteiligter>
 <Natuerliche_Person>
   <Voller_Name>
	 <Vorname>Bernd</Vorname>
	 <Nachname>Betrüger</Nachname>
   </Voller_Name>
   <Geburt>
	 <Geburtsdatum>1966-01-01</Geburtsdatum>
	 <Geburtsort>
	 	<Ort>Sulingen</Ort>
	 </Geburtsort>
 </Geburt>
 </Beteiligter>

 <Wohnort>
   <Anschrift>
     <Strasse>Stra�e Zur Sparkasse</Strasse>
     <Hausnummer>2</Hausnummer>
     <Postleitzahl>31600</Postleitzahl>
     <Ort>Uchte</Ort>
   </Anschrift>
 </Wohnort>
</Beteiligung>
```

So mein Problem ist jetzt das in der Xml zwei mal das Tag <Ort> vorkommt und ich nicht weiß wie ich die jetzt einzeln rausziehe. 

Ich habe es so probiert:

```
<xsl:template match="//Beteiligter">
    <Geburtsort>
    <xsl:value-of select="//Ort"/>
    </Geburtsort>
</xsl:template>

<xsl:template match="//Wohnort">
    <Wohnort>
    <xsl:value-of select="//Ort"/>
    </Wohnort>
</xsl:template>
```

Wie prüfe ich den Knoten des Xml und das er sich dann nur die Werte die in dem Xml-Knoten vorhanden sind rauszieht. Weil egal wie ich es mache schreibt er mir bei Ort immer den Wert rein den er als erstes findet. Also in meinem Beispiel oben zweimal Sulingen.

Ich weiß echt nicht mehr weiter und würde mich über Hilfe sehr freuen da ich das heute noch fertig machen müsste, aber im internet auch nicht wirklich was gefunden habe. 

Mfg
Sascha


----------



## SlaterB (4. Nov 2011)

in jedem Fall kannst du dich von der aktuellen Position aus direkt durchhangeln, 
im ersten Fall wäre das 
<xsl:value-of select="Natuerliche_Person/Geburt/Geburtsort/Ort"/>

im zweiten Fall entsprechend mit Anschrift beginnend,
falls das nicht derart abhängig sein soll oder die Orte sowieso variieren, wäre wohl eine Suche nur in den Unterknoten der aktuellen Position angebracht, 
das kann ich gerade nicht nennen, dürfte aber, falls vorhanden, eine ziemliche Grundlage sein wenn man sich mit XSLT so beschäftigt dass man etwas 'fertig machen muss', keine Tutorials oder sonstigen Lerngrundlagen vorhanden?

sollte doch XPath sein, oder?
XPath ? Wikipedia

child:rt 
fällt dort ins Auge, in Sekunden zu finden, da muss man doch nicht ewig Foreneinträge schreiben und abwarten..


----------



## Sascha-87 (4. Nov 2011)

Dank dir. 

Nein es sind leider keine Lerngrundlagen vorhanden und ich hatte vorher noch nie mit Xslt zu tun. Bevor ich hier geschrieben habe, hatte ich auch versucht es anders rauszufinden aber hat leider nicht geklappt auch wenn es total einfach ist wie ich grad sehe. War nur so auf dieses <template match=""> fixiert, da ich es auf meiner Suche nach der Lösung oft gelesen habe und dachte das wäre damit getan.Finde es auch nicht toll das ich das heute fertig machen muss aber da kann ich leide nix dagegen machen.


----------

