草庐IT

scala-option

全部标签

xml - 使用 javax.xml.xpath。使用 scala.xml

是否可以将javax.xml.xpath.XPathExpression与scala.xml.NodeSeq一起使用?我想要一个允许我表达如下内容的API:valxml=...valxpath=XPathFactory.newInstance.newXPath.compile("""/this/that/theOther[@abc="123"]""")valselectedNodes:NodeSeq=xml.applyXpath(xpath) 最佳答案 Scala采用函数式方法来搜索XML。在相同的情况下,它不像XPath那样清晰,

Flink / Scala 实战 - 19.ProcessFunction 删除 key 的上一个定时器 TimeTimer

一.引言ProcessFunction原始执行状态为每个key注册一个较长时间TimeTimer并在这期间将所有对应key的数据都收集起来,到期完成触发。现在接到新的需求,要求判断数据类型,当特殊标识的数据到达后,需要将TimeTimer到期的时间提前。因此需要删掉当前key之前注册的老的TimeTimer,下面铺下自己踩坑的完整过程。二.情景复现1.数据源为了测试数据,我们自定义数据流,其中SourceInfo为CaseClass,包含了key、sendTime与isRealTime三个字段,前两个常规字段,ProcessFunction会根据先到的SourceInfo获取其SendTime

xml - 在没有突变的情况下在 Scala 中修改 XML?

我正在尝试替换XML片段,并且在此过程中需要一个累加器。假设我有一个像这样存储为XML的填空问题:valq=ThecapitalsofBoliviaareand.在某些时候,我想要将这些空白转换为HTML输入元素,我需要能够区分第一个和第二个,以便我可以检查它们。(忽略这个事实,在这种情况下,两个大写字母可以按任意顺序出现——这是一个令人头疼的问题,我稍后会处理。)感谢StackOverflow上的一些可爱的答案,我产生了以下解决方案:importscala.xml._importscala.xml.transform._classBlankReplacerextendsBasicTr

xml - Scala 在 PCDATA 中嵌入嵌套的 XML 文档

很遗憾,我需要生成一些困惑的XML。主文档必须包含嵌入的XML文档。但是,嵌入文档出现在CDATA部分中。最终结果应如下所示:]]>我遇到了两个问题:首先,CDATA部分中的任何输出都呈现为转义(例如,大于号>变为>)有没有办法在CDATA部分中禁用转义?其次,我无法创建XML声明。我在尝试包含嵌入式XML文档时收到以下异常:defserializeEmbedded():Seq[Node]={}Exceptioninthread"main"java.lang.IllegalArgumentException:xmlisreservedatscala.xml.ProcInstr.(Pro

xml - 如何使用 Scala XML 返回一个空的 NodeSeq?

我正在使用不同的函数逐个构建XML,例如以下示例:{maybeXml(param)}并尝试根据参数值返回空或非空NodeSeq,例如:defmaybeXml(param:Boolean):NodeSeq={if(param)else???//EmptyorNonedoesn'twork}我现在使用的解决方案只是将函数类型定义为Option[NodeSeq],然后将其用作maybeXml.getOrElse(""),但这对我来说意义不大。我目前的用法如下:{maybeXml(param).getOrElse("")}defmaybeXml(param:Boolean):NodeSeq={

xml - 如何安全地处理 Scala 中的 unicode 用户输入(尤其是 XML 实体)

在我的网站上,我有一个接受一些文本用户输入的表单。对于“普通”角色,一切都很好。然而,当输入unicode字符时……好吧,情节变浓了。用户输入类似やっぱ死にかけてる这作为包含XML实体引用的文本进入服务器やっぱ死にかけてる?现在,当我想用​​HTML将其返回给客户端时,我该怎么做?如果我只是按原样输出字符串,脚本攻击就有可能发生。如果我尝试使用scala.xml.Text对其进行编码,它会转换为:やっ&a

xml - 如何使用 Scala 创建 xhtml 查询字符串?

如何创建一个包含href属性的x(ht)ml节点,其中包含查询字符串而不自动转义&s或运行时错误?valtext=Text("?key=val&key2=val2")将被转义和valnode=link抛出(在Scala2.7.5中):java.lang.AssertionError节点将与Liftbind()辅助方法一起使用,最好与AttrBindParam()一起使用。 最佳答案 尝试:valtext=scala.xml.Unparsed("link?key=val&key2=val2")valnode=link但也许你的意思是:

使用 Scala : Equivalent to "getElementByTagName(name)" in JS 解析 XML

Scala中的XML解析似乎并不像它应该的那样简单和直接。我需要的是类似于JavaScript中的document.getElementsByTagName(name)的行为,但出于我的目的,我需要的只是特定标记名称的第一个元素。这是我最终得到的结果:importscala.xml.{Document,Elem,Node}importscala.xml.parsing.ConstructingParserdef_getFirstMatchingElementByName(search:String,n:Node):Option[Node]={if(n.label==search){So

xml - 用scala以编程方式替换xml值

我正在编写一个工具来使用scala更新一些xml文件(在本例中为pom.xml),因为它在java中所花费的精力明显高于(理论上)在scala中的花费。我可以很好地解析xml文件,但我需要替换现有xml中的节点并重写结果。例如:foobar1.0-SNAPSHOT所以我想找到所有这样的节点并将它们替换为:foobar1.0所以,我可以很简单地获取所有版本节点,但是如何将它们替换为我想要的节点呢?//documentisalreadydefinedastheheadofthexmlfilenodes=for(node然后我想做这样的事情:for(node这不起作用,因为节点是不可变的。我

xml - 我可以使用 Scala 的内置 xml 处理程序忽略无效的 XML 字符吗?

我有一个xml文件(来自联邦政府的data.gov),我试图用scala的xml处理程序读取它。valloadnode=scala.xml.XML.loadFile(filename)显然,存在无效的xml字符。是否可以选择忽略无效字符?还是我唯一的选择是先清理它?org.xml.sax.SAXParseException:AninvalidXMLcharacter(Unicode:0x12)wasfoundintheelementcontentofthedocument.Ruby的nokogiri能够用无效字符解析它。 最佳答案