草庐IT

scala-option

全部标签

xml - Scala 的人类可读 XML 输出?

Scala似乎对您输入的XML做了两件事,使它的可解析性不变但可读性降低:首先,它展开自己闭合的标签:scala>res109:scala.xml.Elem=其次,它将属性打乱为随机顺序,就像将它们放入哈希集中一样:scala>res110:scala.xml.Elem=这些共同导致XML的人类可读性大大降低(至少对我而言)。我对XML库不是很熟悉;有没有一种方法可以执行xml到字符串的转换,从而产生一种紧凑的人类可读形式?(如果不是默认情况下,通过递归和编写自己的字符串转换——或者是否有太多特殊情况潜伏在那里?) 最佳答案 大多数

xml - xls-fo fop 0.94 使用 keep-together with wrap-option ="wrap"

在xls-fofop0.94中使用keep-together和wrap-option="wrap"忽略wrap选项?有没有办法让它们都起作用?ThisisalongtextItisdesiredthatthistextbewrappedinthetablecellbutjustcannotmakeithappen! 最佳答案 keep-together="always"隐式设置keep-together.within-line="always"基本上禁止换行。请改用keep-together.within-column="alway

xml - Scala 中的递归 XML

我正在尝试在scala中解析此文档:我想用它为我的2d动画引擎创建骨架。每个关节都应该做成相应的对象,并将所有的child添加到它。所以这部分应该产生类似这样的结果:j=newJoint("pelvis")lleg=newJoint("lleg")lfoot=newJoint("lfoot")rleg=newJoint("rleg")rfoot=newJoint("rfoot")lleg.addJoint(lfoot)rleg.addJoint(rfoot)j.addJoint(lleg)j.addJoint(rleg)但是,我在处理xml代码时遇到了问题。一方面,我不确定我是否完全理

xml - 如何在 Scala 中创建没有文字元素名称的 XML 根节点?

我希望创建这样的文档:我可以通过编程方式添加child。从理论上讲,它看起来像这样:valroot_node_name="root"valdoc=但这似乎不起作用:error:notfound:value所以,我尝试的是:valroot_node_name="root"valdoc=newscala.xml.Elem(null,root_node_name,null,scala.xml.TopScope,null)可以编译,但在运行时我得到这个空指针异常:java.lang.NullPointerExceptionatscala.xml.Utility$.toXML(Utility.s

xml - Scala XML 序列化

看到Scala的强大功能,我想知道是否可以使用内置的Scala语言功能和库(例如,没有XMLEncoder、XStream或JAXB)将任意对象图序列化为XML或反序列化为XML。不幸的是,我还没有找到这样的解决方案。你有什么建议? 最佳答案 我不知道“是否可以使用内置的Scala语言功能和库将任意对象图序列化和反序列化为XML”,但由于Scala中有一些对XML的原生支持,我会提到他们。可以在Ch.中找到更多详细信息。26ProgramminginScala称为使用XML:ThischapterintroducesScala'ss

xml - Scala XML.loadString 与文字表达式

我一直在尝试使用Scala和XML,我发现使用XML.load(或loadString)创建的XML标记与将其写为文字之间在行为上存在奇怪的差异。这是代码:importscala.xml._//creatingaclassicallinkHTMLtagvalin_xml=//ThesameasaStringvalin_str=""""""//ConverttheStringintoXMLvalfrom_str=XML.loadString(in_str)println("in_xml:"+in_xml)println("from_str:"+from_str)println("val_

xml - 在 Scala 之间加入带有 XML 节点的字符串

我有一个字符串列表,我需要用标签将它们连接在一起。所以从:vallist=List("line1","line2","line3")我需要以一个NodeSeq结束:line1line2line3列表可能只包含一个元素,在这种情况下,我应该以Text("line1")的NodeSeq结尾。是否有使用列表中高阶函数之一的单行代码来执行此操作?我试过使用foldLeft,但似乎无法让它做我想做的事。 最佳答案 list.map(scala.xml.Text(_):scala.xml.NodeSeq).reduce(_++++_)请注意,我

xml - 如何在scala的xml中输出{name},而不是转换它?

valname="mike"valxml={name}xml将为mike但是如果我想要xml是{name}怎么办?,不转换{name}? 最佳答案 你可以通过加倍来避开花括号valxml={{name}}给你{name} 关于xml-如何在scala的xml中输出{name},而不是转换它?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3336795/

xml - Scala:在文件中查找 DTD 声明

我不熟悉ScalaXML库。有没有一种简单的方法可以找到文档的DTD?据我目前所见,scala.xml.XML.load仅返回Elem(文档的XML内容),但不是DTD。是否有另一种方法可以专门做到这一点?额外问题:文档开头的XML声明的相同问题。 最佳答案 要获取完整文档,您需要使用ConstructingParser,像这样:valcpa=scala.xml.parsing.ConstructingParser.fromSource(src,false)valdoc=cpa.document()valdtd=doc.dtddtd

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

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