将XML解析为NodeSeq,如何读取根元素名称?

时间:2016-01-04 11:04:41

标签: xml scala

当我将XML文件/字符串作为NodeSeq读取时,如何获取根元素的名称?

看起来有点基本,但我看不到立即明显的方法,看NodeSeq API

最小例子:

给定任意XML:

<HelloWorld>
    <Foo>Bar</Foo>
</HelloWorld>

将代码加载为NodeSeq的代码:

val xml: NodeSeq = XML.loadString(xmlString)

获取根元素名称的最简单方法是什么,在本例中为"HelloWorld"

1 个答案:

答案 0 :(得分:2)

您可以使用SELECT * FROM Customers WHERE LEN(REPLACE(name, ' ', '?')) - LEN(name) > 0 Node获取第一个head,然后使用headOption获取名称:

Node.label

正如Dylan pointed outimport scala.xml.XML val nodes = XML.loadString(""" <HelloWorld> <Foo>Bar</Foo> </HelloWorld> """) val label = nodes.head.label // String: HelloWorld 实际上返回Elem,因此获取根元素名称的最简单方法是:

XML.loadString