2
我想解析Scala中的XML使用scala.xml.XML,我想避免必须通过XPath传递字符串到XML Elem才能获得NodeSeq。Scala XML解析与Xpath
必须在多个地方指定像elem \\ "tag1" \\ "tag2" \\ "@tagN"
这样的字符串似乎很脆弱且重复。
大部分的Scala XML解析教程都解析XPath硬编码字符串jank - elem \\ "tag1" \\ "tag2" \\ "@tagN"
- 无处不在。
是否有可能编写一个方法,通过XPath通过Seq [String]搜索Elem并返回一个NodeSeq?
的方法看起来是这样的:
def getNodeFromXml(elem: Elem, tags: Seq[String]): NodeSeq = {
Returns a NodeSeq elem \\ tags(0) \\ tags(1) \\ ... \\ tags(tags.length)
}
感谢
这比我想的方法更清洁。 我试图使用递归传递Seq的NodeSeq +尾部,当seq.length为1时,返回最终的NodeSeq。 我试图使用集合内置插件,但从来没有想过使用foldLeft。感谢你的分享! – Anthony 2015-03-08 21:09:00