草庐IT

Spark-Scala

全部标签

xml - 从 scala 的 XML 到 w3c DOM 的任何转换?

要使用第3方库,我需要一个w3cDOM文档。但是,在Scala中创建xml节点更容易。所以我正在寻找一种将scalaxml元素转换为w3cdom的方法。显然,我可以序列化为一个字符串并对其进行解析,但我正在寻找性能更高的东西。 最佳答案 这是您可以构建的简单(无命名空间)版本。应该给出思路。只需将doc.createFoo(...)调用替换为等效的doc.createFooNS(...)调用即可。此外,可能需要更智能地处理属性。但是,这应该适用于简单的任务。objectScalaDom{importscala.xml._import

xml - 如何从 apache spark 框架读取 XML 文件?

我确实在这里遇到了使用spark进行数据预处理的迷你教程:http://ampcamp.berkeley.edu/big-data-mini-course/featurization.html然而,这只讨论文本文件解析。有没有办法从spark系统解析xml文件? 最佳答案 看起来有人为apache-spark制作了一个xml数据源。https://github.com/databricks/spark-xml这支持通过指定标签和推断类型来读取XML文件,例如importorg.apache.spark.sql.SQLContextv

xml - Scala:jaxb 或类似的?

作为一名Java程序员,我对使用JAXB和类似工具感到很自在,例如从XML规范构造对象。我确定我可以让JAXB在scala中很好地工作,但我想知道如果这是scala的方式,或者如果有一些更好/更聪明的方式,特别是因为XML几乎是语言/它的内部库。所以,鉴于我想创建一组对象形式的XML规范,在Scala中推荐的方法是什么? 最佳答案 对于纯Scala,有scalaxb.它基于Scala解析器组合器生成案例类和解析器。它还很年轻,但如果您避开XMLSchema的高级功能,它就非常有用。 关于

xml - 选择scala中节点的所有子元素

我想选择名为“a”的节点的第一个子元素。我现在得到的是:(xml\"a")(0).child.collect{casee:Elem=>e}这很冗长。我在寻找类似的东西:xml\"a"\"*"这在Scala中可行吗? 最佳答案 您不能对NodeSeq上的现有\或\\方法执行任何操作。但是您可以使用新的\*方法扩展NodeSeq(注意缺少或空格字符),按照pimp-your-library模式:importxml.{NodeSeq,Elem}classChildSelectable(ns:NodeSeq){def\*=nsflatMap

xml - scala 2.11 中的 xml 模块化将如何处理 xml 文字?

阅读Scala2.11.0-RC1的发行说明,我注意到从2.11系列开始将scalaxml拆分到一个单独的jar。这会影响xml文字的使用,在2.11或后续版本中吗?显然,如果您使用xml文字,您还需要scalaxmljar——我想知道是否也有计划弃用xml文字。顺便说一句,我觉得Scala对XML的支持被认为是一个错误。作为一名语言用户,我当然对文字和插值的支持感到非常高兴。我发现MetaData和UnprefixedAttribute在处理属性方面有些笨拙,但并不可怕。scalaxml的主要问题是什么? 最佳答案 有athrea

xml - 如何使用 scala.xml 添加 xml 文档信息?

首先:我知道反xml和缩放,但我想使用标准的scala.xml我更喜欢使用显式方法构建xml文档,而不是使用Scala中内置的隐式xml语法好的,所以我有这样一段代码:valtext=newscala.xml.Text("justatext")valroot=newscala.xml.Elem(null,"element",null,scala.xml.TopScope,text)valdoc=newscala.xml.Document()doc.docElem=rootprintln(doc.toString())几乎不错,但结果我得到:justatext我也想获取XMLheader

xml - 在 scala 中以 UTF-8 读取 xml

我正在尝试使用以下代码将文件读取为xml:importscala.xml._objectHebrewToEnglishCityTranslator{valdata=XML.loadFile("cities_hebrew_utf.xml");for(valentry但是,我的文件是用UTF-8(希伯来字符)编码的,XML编码是valencoding="ISO-8859-1"我该怎么办? 最佳答案 您应该使用XML.load(reader:java.io.Reader),它允许您指定文件编码:XML.load(newjava.io.In

xml - 使用scala查找具有与特定值匹配的属性的所有节点

我在Nabble上看到了下面的例子,其目标是返回所有包含id为X且包含值Y的属性的节点://findallnodeswithanattribute"class"thatcontainsthevalue"test"valxml=XML.loadString("""hellohello""")defattributeEquals(name:String,value:String)(node:Node)={node.attribute(name).filter(_==value).isDefined}valtestResults=(xml\\"_").filter(attributeEqua

xml - Scala XML 模式匹配和属性

首先:我在Scala2.8我在XML元素上使用模式匹配时遇到一个小问题。我知道我可以做这样的事情:valmyXML=MyTextmyXMLmatch{case{theText}=>println(theText)case_=>}这是我在网上和我的两本Scala书籍中到处都能找到的例子。但是,如果我想根据属性匹配XML元素怎么办?valmyXML=AnawesomeText!myXMLmatch{case{theText}=>println("An%stext:%s".format(textType,theText))case_=>}编译器将向我抛出一个error:inXMLlitera

xml - Scala:XML 属性解析

我正在尝试为属性“日期”解析一个看起来像这样的rss提要:我尝试了几个不同的版本:(rssFeed包含RSS数据)println(((rssFeed\\"channel"\\"item"\"y:c"\"date").toString))但似乎没有任何效果。我错过了什么?非常感谢任何帮助! 最佳答案 中的“y”是命名空间前缀。它不是名称的一部分。此外,属性用“@”引用。试试这个:println(((rssFeed\\"channel"\\"item"\"c"\"@date").toString))