Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala XML支持是如何工作的?_Xml_Scala - Fatal编程技术网

Scala XML支持是如何工作的?

Scala XML支持是如何工作的?,xml,scala,Xml,Scala,我相信这应该是显而易见的,但我可以找到任何关于我的问题的参考资料。 Scala XML使用什么底层技术?它是类似于DOM、SAX还是StAX?在处理大型文档时,我应该注意哪些性能损失?StAX是否更有效率 提前感谢。可以使用scala.xml.pull.XMLEventReader处理大型文档(数百MB)。请参阅(假设您将使用2.8)。这是使用像StAX这样的pull解析器模型 一般来说,与Java相比,Scala在处理XML时做了自己的事情。XML是不可变的。此外,您还可以在Scala代码中直

我相信这应该是显而易见的,但我可以找到任何关于我的问题的参考资料。 Scala XML使用什么底层技术?它是类似于DOM、SAX还是StAX?在处理大型文档时,我应该注意哪些性能损失?StAX是否更有效率

提前感谢。

可以使用
scala.xml.pull.XMLEventReader处理大型文档(数百MB)。请参阅(假设您将使用2.8)。这是使用像StAX这样的pull解析器模型

一般来说,与Java相比,Scala在处理XML时做了自己的事情。XML是不可变的。此外,您还可以在Scala代码中直接使用XML文本,这有助于提高代码的可读性


作为对评论的回应,
XML.load
使用javax.XML.parsers.{SAXParser,SAXParserFactory}作为底层技术。我还假设生成的xml加载到内存中。

Scala自己做事情。大多数XML模型都是可变的,不能很好地转换为不可变的(因为它们大多跟踪父对象)


一篇关于它的论文。

谢谢。我忘了提到我的问题被认为只是解析(确切地说是
XML.load()
方法,以及相应的
NodeSeq
东西)——如果我使用这个API,我想整个文档都被加载和解析了?再次感谢,您的添加是我想要的答案。