Ajout un attribut XML en fonction d'une option , je voudrais ajouter une balise XML dans Scala selon une option
scala> def toXml2(value1: String, value2: Option[String]) =
| <body>
| <tag1>{value1}</tag1>
| {<tag2>{value2}</tag2>?}
| </body>
4 Réponses :
Pourquoi ne pas utiliser une instruction if comme ceci:
def toXml(value1:String,value2:Option[String]) =
<body>
<tag1>{value1}</tag1>
{if (value2 isDefined) <tag2>{value2.get}</tag2>}
</body>
Merci Anne pour la réponse, cela est plus clair que mon utilisation de la carte et aplatissent. Cependant, je voudrais éviter de copier et coller des tests isDefined pour chaque option. Je suis à la recherche d'une solution où le code ressemble presque à la sortie XML.
Votre choix code> peut être réalisé comme ceci: <body>
<tag1>Hello</tag1>
<tag3><innerTag></innerTag></tag3>
<tag4><innerTag></innerTag></tag4>
</body>
est-il un moyen d'éviter les lignes vides?
Vous pouvez également plier code> l'option:
Ceci est plus simple que les autres réponses.
Voici une version simple qui n'utilise pas (sans doute trompeur, car rien n'est accumulé) Méthode de pliage: Le résultat est identique à la réponse de Zoltan cependant. P > p>