带重写规则的Scala XML转换
我有一个XML模板,其中预定义了一些字段。我想使用带重写规则的Scala XML转换,scala,scala-xml,Scala,Scala Xml,我有一个XML模板,其中预定义了一些字段。我想使用RewriteRules用新的Value值构建基于it的新XML模板 前。 模板: val template = <xml> <Persons> <Name>Persons</Name> <Person> <FullName> <Name>Name of the field</Name>
RewriteRules
用新的Value
值构建基于it的新XML模板
前。
模板:
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"))
val模板=
珀森斯
字段名称
字段名称
案例类人物(全名:String,lastName:String)
val persons=Seq(Person(“约翰·史密斯”、“史密斯”)、Person(“鲍勃·萨弗”、“萨弗”))
输出应为:
<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>
珀森斯
字段名称
约翰·史密斯
字段名称
史密斯
字段名称
鲍勃储蓄器
字段名称
储户
是否可以使用
重写规则
您不需要为此重写规则。您可以在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>def模板(id:String=“defaultValue可以在这里”)={id}
模板:(id:String)scala.xml.Elem
scala>模板(“人”)
res4:scala.xml.Elem=person
scala>模板(“person2”)
res5:scala.xml.Elem=person2
否则