Xml 如何返回没有根节点的NodeSeq?

Xml 如何返回没有根节点的NodeSeq?,xml,scala,parsing,Xml,Scala,Parsing,我是Scala新手,在一个完全用Scala编写的项目中工作,我想修改一个case类,该类包含一个返回NodeSeq的方法,但是所有的类参数都是可选的,我应该只返回解析为NodeSeq的可用参数 我不知道我做错了什么,但方法只是返回序列中的第一个元素: case class Address( street: Option[String], number: Option[String],

我是Scala新手,在一个完全用Scala编写的项目中工作,我想修改一个case类,该类包含一个返回NodeSeq的方法,但是所有的类参数都是可选的,我应该只返回解析为NodeSeq的可用参数

我不知道我做错了什么,但方法只是返回序列中的第一个元素:

case class Address(
                        street: Option[String],
                        number: Option[String],
                        complement: Option[String],
                        district: Option[String],
                        city: Option[String],
                        state: Option[String],
                        country: Option[String],
                        postalCode: Option[String]
                      ) {
  def toXml: NodeSeq =
    {street.map(x => <street>{x}</street>).orNull}
    {number.map(x => <number>{x}</number>).orNull}
    {complement.map(x => <complement>{x}</complement>).orNull}
    {district.map(x => <district>{x}</district>).orNull}
    {city.map(x => <city>{x}</city>).orNull}
    {state.map(x => <state>{x}</state>).orNull}
    {country.map(x => <country>{x}</country>).orNull}
    {postalCode.map(x => <postalCode>{x}</postalCode>).orNull}
}
案例类地址(
街道:选项[String],
编号:选项[字符串],
补码:选项[String],
地区:选项[字符串],
城市:选项[String],
状态:选项[字符串],
国家/地区:选项[字符串],
postalCode:选项[字符串]
) {
def-toXml:NodeSeq=
{street.map(x=>{x}).orNull}
{number.map(x=>{x}).orNull}
{complete.map(x=>{x}).orNull}
{district.map(x=>{x}).orNull}
{city.map(x=>{x}).orNull}
{state.map(x=>{x}).orNull}
{country.map(x=>{x}).orNull}
{postalCode.map(x=>{x}).orNull}
}

您的代码被解析为

def toXml: NodeSeq = {
  street.map(x => <street>{x}</street>).orNull
}

{number.map(x => <number>{x}</number>).orNull}
{complement.map(x => <complement>{x}</complement>).orNull}
/* etc */
def toXml: NodeSeq = NodeSeq.Empty ++
  street.map(x => <street>{x}</street>) ++
  number.map(x => <number>{x}</number>) ++
  complement.map(x => <complement>{x}</complement>) ++
  district.map(x => <district>{x}</district>) ++
  city.map(x => <city>{x}</city>) ++
  state.map(x => <state>{x}</state>) ++
  country.map(x => <country>{x}</country>) ++
  postalCode.map(x => <postalCode>{x}</postalCode>)