2016-05-16 13 views
0

Unsere Anwendung empfängt eine XML-Nachricht von einem anderen System. Die XML ist wie folgt strukturiert:Scala xml: Abhängigkeit zwischen Attributen

<params> 
    <param name="FOO" value="BAR"/> 
    ... 
</params> 

Was ist der beste Weg, mit Scala nativen XML-Verarbeitung, den Wert BAR für den Parameter zurück, die FOO ist, so dass:

val foo = "BAR" 

Dank

Antwort

1

ich nehme an, Ihre xml mit fehlenden param schließenden Tag ungültig ist, sollte es sein, zum Beispiel

var x = <params> 
    <param name="FOO" value="BAR" /> 
    <param name="FOO2" value="BAR2" /> 
</params> 

Wenn Sie der einzige param FOO extrahieren möchten, ich glaube nicht, dass Sie etwas viel besser als

(x \ "param" find (n => (n \ "@name").toString == "FOO")).get \ "@value" 

finden Sie alle params erhalten möchten, können Sie über sie iterieren:

x \ "param" foreach {n => println(n \ "@name" + " -> " + n \ "@value")} 
+0

danke - ich korrigierte XML-Snippet in Frage. – user1052610

Verwandte Themen