草庐IT

scala-tools

全部标签

xml - 在 Scala 中查找 XML 元素的第一个子元素

因此,我正在开发一个可以接收多种类型的XML请求的项目。请求的类型由根标记的第一个子标记确定。所以你可以得到这样的东西:foo或:foo并对foo执行一定的操作,基于是否是的第一个child是或.我想不出任何简单的方法来确定.我想我可以做重复匹配,首先检查a\'b'然后a\'c'等等。但是我需要处理一堆不同的请求类型,所以这很快就会变得笨拙。Elem.child没有帮助,它只返回一个单元素列表:元素本身。如何在事先不知道标签名称的情况下获取元素的第一个子元素? 最佳答案 我想你可以尝试这样的事情:valfirstChildName=

xml - Scala XML 中的选项 [Elem]

vali=Some(){for(o返回奇怪的值:res3:scala.xml.Elem=Some(<foo/>)显然不是预期的结果。我可以通过写来绕过:{for(o返回预期结果:但是为什么我需要做这个转换呢?有什么我应该将i转换为而不是将其转换为List的特征吗? 最佳答案 因为Option.map(这是您的理解使用的)返回另一个Option,并且没有从Option的隐式转换到Seq或类似的(原因值得商榷并且已经过辩论)。虽然Option有许多类似集合的方法,但它实际上并没有实现任何主要的集合特征,因此XML系统不知道将

xml - 如何使用 Scala 计算 XML 文件中的元素

我在scala中使用assert函数来比较xml文件。我的问题是我希望能够计算元素的数量,例如:我希望能够计算keydown元素、keydown元素、按键等的数量... 最佳答案 将你的录音标签做成一个Seq[Node],并计算每个标签:scala>:paste//Enteringpastemode(ctrl-Dtofinish)valxml=//numberofemptyentriesforwhateverreason.//Notnecessaryifyou'renotusingchildrenagainafterthis.val

xml - Scala 2.8.0中如何将二维数组写入xml

以下代码(从aquestionfromaboutayearago复制)在Scala2.7.7下运行良好,但在Scala2.8.0(Beta1、RC8)下运行不正常。importscala.xmlclassPerson(name:String,age:Int){deftoXml():xml.Elem={name}{age}}defpeopleToXml(people:Array[Person]):xml.Elem={{for{person}valdata=Array(newPerson("joe",40),newPerson("mary",35))println(peopleToXml(

xml - 在 Scala 中解析不带引号的 XML

我正在尝试使用如下所示的Scala解析一些生成不良的xml代码:The...它结构良好,但如您所见,任何属性值周围都没有引号。简单地用下面的Scala片段打开文件会抛出一个并不令人惊讶的错误:valsemCor=XML.loadFile(args(0))抛出org.xml.sax.SAXParseException:Openquoteisexpectedforattribute"{1}"associatedwithanelementtype"concordance".我想知道如何(如果可能的话)设置scalaxml解析器以正确解析此输入,就好像属性值周围有引号一样。感谢您的任何建议!

xml - Scala 在大(30MB)xml 文件中查找元素

我有一个30MB的大XML文件,想在其中找到几个元素。该文件是一个有效的pom.xml,我想从中获取所有依赖项(名称、组、版本)、子模块和父模块。您可以使用查看这样的文件mvnhelp:effective-pom-Doutput=test.xml对于我的26MB文件,scala的XML.load*导致java.lang.OutOfMemoryError:Javaheapspace除了增加堆空间,我还能做什么?TIA,baSTL. 最佳答案 您可以使用pullparsing,其中XML元素被视为一系列事件(打开标记a、打开标记i、文本

xml - Scala 的 XOM 模拟?

是否有像XOM这样的Scala的XML处理库“按此顺序努力实现正确性、简单性和性能”Java?(ScalaXMLAPI不是一个选项) 最佳答案 据我所知,Scala的唯一替代XML库是anti-xml,这是不到两周前开始的一项努力。它现在对任何事情都没有真正的用处,但如果您觉得它有值(value),您至少可以尝试影响它的发展。 关于xml-Scala的XOM模拟?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

java - Scala 中的容错 XML 解析

我希望能够解析格式不一定正确的XML。例如,我会寻找一个模糊的而不是严格的解析器,能够从错误嵌套的标签中恢复。我可以自己写,但值得先在这里问一下。更新:我想做的是从HTML中提取链接和其他信息。对于格式良好的XML,我可以使用ScalaXMLAPI。对于格式错误的XML,以某种方式(以某种方式)将其转换为正确的XML并以相同的方式处理它会很好,否则我将不得不拥有两组完全不同的函数来处理文档。显然,因为输入格式不正确,而我正在尝试创建一个格式正确的树,所以必须涉及一些启发式(例如,当您看到时,您将首先关闭然后当您看到时,您会忽略它)。但这当然不是正确的语法,因此没有正确的方法。

xml - Scala/Lift 中是否(或是否)有 XML 和 JSON 可序列化对象的标准特征?

在我的Lift项目中,我使用了我自己的一个特征:importscala.xml.Nodeimportnet.liftweb.json.JsonAST.JValuetraitSerializable{deftoXml:NodedeftoJson:JValue}我不是在“reshape自行车”吗?这不是有一个共同的标准库特征吗? 最佳答案 Record有一个asJSON方法,可以使用net.liftweb.json.XML将json转为xml。你不想混入Record是因为它对你的对象来说太多了吗?

xml - 在 Scala 中,如何使用转换器/重写规则将递增 ID 放入 XML 元素中

我想读入一个XML文件并在特定元素中放置一个递增的id。这是我编写的一些测试代码,用于弄清楚如何做到这一点:importscala.xml._importscala.xml.transform._valtestXML=FirstnameLastnamedefaddIDs(node:Node):Node={objectaddIDsextendsRewriteRule{varauthorID=-1varemailID=-1varinstID=-1overridedeftransform(elem:Node):Seq[Node]={elemmatch{caseElem(prefix,"aut