草庐IT

scala-tools

全部标签

xml - 为什么 Scala XML 文字对标签之间的空格敏感?

我发现ScalaXML文字对空格很敏感,这有点奇怪,不是吗?因为XML解析器通常不会在意标签之间的空格。这很糟糕,因为我想在我的代码中整齐地设置我的XML:但是Scala认为这是一个不同的值证据就在布丁里:scala>valxml1=xml1:scala.xml.Elem=scala>valxml2=||xml2:scala.xml.Elem=scala>xml1==res0:Boolean=truescala>xml1==xml2res1:Boolean=false...给出了什么? 最佳答案 如果你喜欢它,你应该把它修剪一下:s

xml - 如何访问 Scala XML 中的父元素

scala.xml包表示带有标记树节点的XML。但是在Scala2.7中这棵树是单向的吗,因为似乎没有办法访问给定Elem的Elem父级?这同样适用于父Document。例如,在XOM中,您有getParent和getDocument访问器来导航到树的根。这可以用Scala的XMLAPI完成吗? 最佳答案 正如其他人所提到的,没有父链接可以使它们成为高效的不可变结构。例如:scala>vala=mea:scala.xml.Elem=mescala>valb=a.child(0)b:scala.xml.Node=mescala>val

xml - 对象 xml 不是包 scala 的成员

编译器中的代码如下:abstractclassquery{defget:Unit=>scala.xml.Elem}给我错误:“objectxmlisnotamemberofpackagescala”然而,当我通过命令行在sbt中使用scala.xml.Elem时,它工作得很好,我该如何解决这个问题?提前致谢 最佳答案 Scala-XML已分解为separatelibrary从Scala2.11开始,默认情况下它不包含在Scala项目中。要通过sbt将其包含在您的项目中,请添加此依赖项:libraryDependencies+="or

xml - 在 Scala 中编码/解码 XML

我正在研究在Scala和XML之间编码/解码数据的各种方法,并且我有兴趣获得社区反馈(最好基于第一手知识/经验)。我们目前正在使用JAXB,这很好,但我希望使用纯Scala解决方案。我正在考虑以下方法:使用Scala的内置XML工具:Scala->XML会很容易,但我猜另一个方向会相当痛苦。另一方面,这种方法支持任意翻译逻辑。数据绑定(bind):scalaxb目前似乎有些不成熟,不能处理我们当前的模式,而且我不知道Scala的任何其他数据绑定(bind)库。与JAXB一样,需要一个额外的转换层来支持相关的转换。XMLpickler组合器:GDataScalaClient库提供XMLp

xml - 如何使用 Scala 将 xml 文档解析为流?

如何使用Scala将xml文档解析为流?我在java中使用StaxAPI来完成此操作,但我想知道是否有“scala”方法来执行此操作。 最佳答案 使用包scala.xml.pull。摘自Scala2.8的Scaladoc的片段:importscala.xml.pull._importscala.io.Sourceobjectreader{valsrc=Source.fromString("")valer=newXMLEventReader(src)defmain(args:Array[String]){while(er.hasNex

xml - 忽略 Scala 中的 DTD 规范

我想在使用Scala解析xml文件时偶尔忽略dtd规范。我知道这可以很容易地通过java接口(interface)完成DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();dbf.setValidating(false);dbf.setFeature("http://xml.org/sax/features/namespaces",false);dbf.setFeature("http://xml.org/sax/features/validation",false);dbf.setFeature("http://

xml - Scala 2.9.x 中的 XML 支持状态

我目前开始研究使用Scala的XML支持业务关键流程。在这方面,我想知道Scala中标准XML库的当前状态。我读过一些与Scala2.7和2.8trunk相关的“旧”文章,其中指出XML处理对于scala2.8来说是线程安全的,并且在2.7.x版本中有几个错误。也有人对XML类层次结构提出了批评,但我想这只是个人喜好问题。所以我想如果有人能回答这个问题,2.9.x版的ScalaXML库的当前状态是什么?提前致谢。 最佳答案 Scala中有一个可用于XML的替代库,Anti-XML。来自主页:Anti-XMLisaproposedre

xml - 如何更改 Scala XML 元素的属性

我有一个XML文件,我想用脚本映射in的一些属性。例如:可能将属性缩放为两倍:此页面有关于添加属性的建议,但没有详细说明将当前属性映射到函数的方法(这种方法会非常困难):http://www.scalaclass.com/book/export/html/1我想出的是手动创建XML(非scala)链表...类似于://atypicalmatchcaseforrunningthruXMLelements:caseElem(prefix,e,attributes,scope,children@_*)=>{varnewAttribs=attributesfor(attrnewAttribs=

xml - Scala XML 构建 : Adding children to existing Nodes

我有一个XML节点,我想随着时间的推移向其添加子节点:valroot:Node=但我看不到诸如addChild()之类的方法,因为我想按照以下方式编写一些内容:defaddToModel()={root.addChild(content)}因此,在单次调用此方法后,根xml将是:content我能看到的唯一能够附加节点的类是NodeBuffer。我是否遗漏了一些基本的东西? 最佳答案 我们从这里开始:defaddChild(n:Node,newChild:Node)=nmatch{caseElem(prefix,label,attr

xml - 在 Scala 中使用动态标签和属性构造 XML?

我希望能够做到这一点:valmyXml=(因为我不知道编译时的属性细节是什么)还有这个:valmyXml=这不是有效的Scala语法。我能想到的最接近的方法是使用Elem对象来构造元素,但这有点麻烦(在我不想插入的地方插入PCDATA)。有没有办法像上面那样做? 最佳答案 valmyXml=%Attribute(None,"name",Text("value"),Null)有关不同的构造函数,请参阅scala.xml.Attribute。为所有child添加相同的属性:scala>valxml=xml:scala.xml.Elem=