Anti-xml将成为Scala中的继任者xml库。但我发现了一些怪癖。输入packagecom.twitter.sampleimportcom.codecommit.antixml._objectReadingNamespaceXmlextendsApplication{valxml=23232322.convertvalroute=xml\"route"Consoleprintlnroute.unselect}输出:23232322因此,输入的xml和输出的xml是不一样的。为什么? 最佳答案 答案只是这是一个错误。幸运的是,有
给定一个scala.xml.Node对象(带有空格和元素作为子节点)获取第二个(或第n个)子元素的最有效方法是什么?通常我会选择内置的(node\"foo"),但有时我不得不依赖元素的位置。例如,我可以有两个Choice组,它们可以是foo或bar。该文档可以是或等等 最佳答案 我喜欢retronym的drop(n).headOption当你的child少于n时,它会考虑这种模式.但我认为你的意思是第二个子节点(不包括文本节点),而不是的第二个实例。标签。考虑到这一点,结合您的答案或使用partialMap:node.child.p
诚然,我真的很喜欢Jerkson库,因为它使生成JSON变得如此简单。举个例子:Json(generate(Job.search(parseDate(date),accountId).map(job=>Map("id"->job.id,"name"->job.name,"userId"->job.userId.getOrElse("")))))但我很难找到一个类似的库,它可以像这样轻松地生成和序列化XML节点等。是否有Java或Scala库可以用简单的语法生成节点和值,而无需制作"template"或手动编写节点? 最佳答案 由于属
因此,我正在开发一个可以接收多种类型的XML请求的项目。请求的类型由根标记的第一个子标记确定。所以你可以得到这样的东西:foo或:foo并对foo执行一定的操作,基于是否是的第一个child是或.我想不出任何简单的方法来确定.我想我可以做重复匹配,首先检查a\'b'然后a\'c'等等。但是我需要处理一堆不同的请求类型,所以这很快就会变得笨拙。Elem.child没有帮助,它只返回一个单元素列表:元素本身。如何在事先不知道标签名称的情况下获取元素的第一个子元素? 最佳答案 我想你可以尝试这样的事情:valfirstChildName=
vali=Some(){for(o返回奇怪的值:res3:scala.xml.Elem=Some(<foo/>)显然不是预期的结果。我可以通过写来绕过:{for(o返回预期结果:但是为什么我需要做这个转换呢?有什么我应该将i转换为而不是将其转换为List的特征吗? 最佳答案 因为Option.map(这是您的理解使用的)返回另一个Option,并且没有从Option的隐式转换到Seq或类似的(原因值得商榷并且已经过辩论)。虽然Option有许多类似集合的方法,但它实际上并没有实现任何主要的集合特征,因此XML系统不知道将
我在scala中使用assert函数来比较xml文件。我的问题是我希望能够计算元素的数量,例如:我希望能够计算keydown元素、keydown元素、按键等的数量... 最佳答案 将你的录音标签做成一个Seq[Node],并计算每个标签:scala>:paste//Enteringpastemode(ctrl-Dtofinish)valxml=//numberofemptyentriesforwhateverreason.//Notnecessaryifyou'renotusingchildrenagainafterthis.val
以下代码(从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(
我正在尝试使用如下所示的Scala解析一些生成不良的xml代码:The...它结构良好,但如您所见,任何属性值周围都没有引号。简单地用下面的Scala片段打开文件会抛出一个并不令人惊讶的错误:valsemCor=XML.loadFile(args(0))抛出org.xml.sax.SAXParseException:Openquoteisexpectedforattribute"{1}"associatedwithanelementtype"concordance".我想知道如何(如果可能的话)设置scalaxml解析器以正确解析此输入,就好像属性值周围有引号一样。感谢您的任何建议!
我有一个30MB的大XML文件,想在其中找到几个元素。该文件是一个有效的pom.xml,我想从中获取所有依赖项(名称、组、版本)、子模块和父模块。您可以使用查看这样的文件mvnhelp:effective-pom-Doutput=test.xml对于我的26MB文件,scala的XML.load*导致java.lang.OutOfMemoryError:Javaheapspace除了增加堆空间,我还能做什么?TIA,baSTL. 最佳答案 您可以使用pullparsing,其中XML元素被视为一系列事件(打开标记a、打开标记i、文本
是否有像XOM这样的Scala的XML处理库“按此顺序努力实现正确性、简单性和性能”Java?(ScalaXMLAPI不是一个选项) 最佳答案 据我所知,Scala的唯一替代XML库是anti-xml,这是不到两周前开始的一项努力。它现在对任何事情都没有真正的用处,但如果您觉得它有值(value),您至少可以尝试影响它的发展。 关于xml-Scala的XOM模拟?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo