2016-08-19 2 views
-2

Dies ist meine Schule zu Hause arbeiten und kann es nicht selbst herausfinden.XSLT Element Wert von MAP

Ich muss eine XML-Datei aus der Eingabequelle neu formatieren, um XML mithilfe von Transformation auszugeben.

Meine Eingabequelle hat viele Tags (Elemente).

Ich habe Tags wie folgt aus:

<tag> 
<name>DOB</name> 
<value>XX/XX/XX</value> 
</tag> 
<tag> 
<name>Address</name> 
<value>123 Main St.</value> 
</tag> 

und ich brauche diese

<DOB>xx/xx/xx</DOB> 
<Address>123 Main St.</Address> 
+1

Haben Sie etwas versucht? Es wäre einfacher, dir beim Lernen zu helfen, wenn wir genau wüssten, wo du stecken bleibst. – Laurel

+0

Da Sie ein Anfänger und auch neu bei StackExchange sind, sollten Sie die [Hilfe] besuchen, die [Tour] besuchen und [fragen] lesen, um zu erfahren, wie Sie diese Seite effektiv nutzen können. Anfragen für Hausaufgabenhilfe müssen eine erhebliche Anstrengung Ihrerseits aufzeigen, um das Problem zu lösen. Wenn Sie wirklich verloren sind, sollten Sie mit Ihrem Professor sprechen. –

+0

Nun, ich habe alle anderen Teile außer diesem gemacht. und ich bin einige Tage fest, um das zu lösen. Ich kann keine nahe Lösung von dieser Seite finden. Dies ist ein kleiner Teil des Problems, für das ich keine Lösung finden kann. Mein Lehrer sagte Gebrauch bedingte, aber ich denke nicht, dass es ein eleganter Weg ist, es zu tun. –

Antwort

0

Mein Lehrer sagte bedingte verwenden zu verwandeln, aber ich glaube nicht, dass elegante Art und Weise ist zu TU es.

Nein, ist es nicht. Und was genau wäre der Zustand sein? Sie sollten versuchen:

<xsl:template match="tag"> 
    <xsl:element name="{name}"> 
     <xsl:value-of select="value" /> 
    </xsl:element> 
</xsl:template> 

Beachten Sie, dass dies nicht gelingen wird, wenn der Inhalt von name Name keine gültige XML sind.

+0

Das ist großartig, danke. Ich konnte {name} nicht abrufen, bevor dieser Teil nicht funktionierte, aber jetzt mit {} funktioniert es einwandfrei. Vielen Dank. –