1

いくつかのフィールドが事前定義された XML テンプレートがあります。Valueを使用して新しい値を持つ it テンプレートに基づいて新しい XML を構築したいと考えていますRewriteRules

元。テンプレート:

val template = <xml>
  <Persons>
    <Name>Persons</Name>
    <Person>
      <FullName>
        <Name>Name of the field</Name>
        <Value></Value>
      </FullName>
      <LastName>
        <Name>Name of the field</Name>
        <Value></Value>
      </LastName>
    </Person>
  </Persons>
</xml>

case class Person(fullName: String, lastName: String)
val persons = Seq(Person("John Smith", "Smith"), Person("Bob Saver", "Saver"))

出力は次のようになります。

<xml>
  <Persons>
    <Name>Persons</Name>
    <Person>
      <FullName>
        <Name>Name of the field</Name>
        <Value>John Smith</Value>
      </FullName>
      <LastName>
        <Name>Name of the field</Name>
        <Value>Smith</Value>
      </LastName>
    </Person>
    <Person>
      <FullName>
        <Name>Name of the field</Name>
        <Value>Bob Saver</Value>
      </FullName>
      <LastName>
        <Name>Name of the field</Name>
        <Value>Saver</Value>
      </LastName>
    </Person>
  </Persons>
</xml>

でできRewriteRulesますか?

4

1 に答える 1

2

RewriteRulesこの目的では必要ありません。xml テンプレートで変数を定義できます。

scala> def template(id: String = "defaultValue can be here") = <someXml>{id}</someXml>
template: (id: String)scala.xml.Elem

scala> template("person")
res4: scala.xml.Elem = <someXml>person</someXml>
scala> template("person2")
res5: scala.xml.Elem = <someXml>person2</someXml>

それ以外 の場合はScala - xml 要素を特定のテキストに置き換えます

于 2015-11-06T15:14:50.513 に答える