将XML字符串转换为scala XML文本
我正在尝试将给定的XML字符串转换为Scala XML文本将XML字符串转换为scala XML文本,xml,scala,multilinestring,Xml,Scala,Multilinestring,我正在尝试将给定的XML字符串转换为Scala XML文本 e.g. import scala.xml.XML.loadString > val xml = """<parent> |<child id="1">data1</child> |<child id="2">data2</child> |<child id="3">data3&l
e.g.
import scala.xml.XML.loadString
> val xml = """<parent>
|<child id="1">data1</child>
|<child id="2">data2</child>
|<child id="3">data3</child>
|</parent>""".stripMargin
> loadString(xml)
> res0: scala.xml.Elem =
<parent> //0
<child id="1">data1</child> //1
<child id="2">data2</child> //2
<child id="3">data3</child> //3 // Expected Output
</parent>
例如。
导入scala.xml.xml.loadString
>val xml=”“”
|数据1
|数据2
|数据3
|“.stripMargin”
>加载字符串(xml)
>res0:scala.xml.Elem=
//0
数据1//1
数据2//2
数据3//3//预期输出
问题是,当我在单独的行中有一个XML元素属性时,它会抛出错误
> val xml = """<parent>
|<child id="1">data1</child>
|<child id="2">data2</child>
|<child
|id="3">data3</child>
|</parent>""".stripMargin
> loadString(xml)
> res1: org.xml.sax.SAXParseException: Element type "child" must be followed by
either attribute specifications, ">" or "/>".
>val xml=”“”
|数据1
|数据2
|数据3
|“.stripMargin”
>加载字符串(xml)
>res1:org.xml.sax.SAXParseException:元素类型“child”后面必须跟
属性规范“>”或“/>”。
我试图删除XML字符串中的(\n或\r)
字符,但无效,在Scala中是否有处理此问题的方法?您使用的是什么版本?你试过把文件放进去而不是回复吗?这在Scala 2.12.8和Scala xml 1.1.1.hi@Tim的文件中似乎可以正常工作,我使用的是Scala版本2.13.1。你是对的,它工作得很好,当我把字符串放在一个文件中时,我只是好奇,是否有任何方法可以直接处理它。我建议你把代码放在一个文件中,而不是字符串中。我已经将这段代码剪切粘贴到一个文件中并编译了它,它工作正常,所以这可能是某种REPL问题。谢谢帮助@Tim