斯卡拉代码:
val str = "<a>11</a><b>22</b>"
XML.loadString(str)
它会报告一个异常(当然):
org.xml.sax.SAXParseException:
The markup in the document following the root element must be well-formed.
是否可以从字符串中加载 NodeSeq?
scala 中的解析器不喜欢您的示例字符串
val str2="<xml><a>11</a><b>22</b></xml>"
工作得很好,我猜你的例子不算完整的文档
要获得“内部”的元素,<xml>..</xml>
请执行此操作
val n = xml.XML.loadString(str2)
val list = n.child
它返回一个列表
scala> n.child
res12: Seq[scala.xml.Node] = List(<a>11</a>, <b>22</b>)
为了补充 Vorsprung 的回答,输入失败的实际原因正是异常告诉您的(强调我的):XML.loadString
<a>11</a><b>22</b>
根元素之后的文档中的标记必须是格式良好的。
格式良好的XML 文档的要求之一是它只包含一个根元素。
因此,例如,这可以正常工作并为您提供NodeSeq
(Elem
更准确地说是一个):
XML.loadString("<c><a>11</a><b>22</b></c>")