![]() |
1
3
这比我最初想象的要丑得多。我确实有一个部分的解决方案,但我不确定是否值得这么做。默认的模式匹配将空白作为标记,我没有找到任何有效的方法来绕过它。所以我做了相反的事情:用空格装饰输入字符串。这个示例只有一个缩进级别;您可以想象递归空白添加以匹配您最喜欢的缩进样式。 下面是示例(需要编译和运行;至少2.7repl不喜欢case语句中的多行XML)。
相当不雅,但它确实(稍微)达到了你想要的效果。 |
![]() |
2
2
使用“match”时,带有或不带有换行符和其他空白的XML不被认为是相同的。如果使用scala.xml.utility.trim,则可以删除空白。(您可能希望同时调整输入和服务器提供的内容,除非您确定服务器不会向您发送空白。) |
![]() |
3
1
也许你可以尝试一下:
我不是说它会起作用…但它可能 |
![]() |
4
0
嗯,我没有匹配/案例问题的解决方案。您确实需要一个提取器,它根据scala模式匹配的工作方式使输入XML变白——您不能应用
但是,要获得
另请参见scala中编程的XML一章(部分内容位于 Google books ) 希望它有帮助, --弗拉维厄·西皮根 |
![]() |
5
0
我遇到了一个类似的问题,找到了一个聪明的解决方案:
我同意这应该是scala中的内置特性。当XML的模式很复杂时,必须将其写在一行中是非常难看的。 当您了解与以下模式匹配时,很容易理解为什么我的解决方案有效:
相当于匹配:
因为空间在评价
但是请注意,您不能使用
我是斯卡拉的新手,我注意到这个问题已经很老了,所以现在也许找到了一个更好的方法。 |
![]() |
JobProcessTask · 如何读取此xpath表达式? 2 年前 |
![]() |
MBF · PHP导入/解析XML文件内容保存到数据库 2 年前 |
![]() |
TenkMan · SQL Server XML嵌套值查询表单990 2 年前 |
![]() |
Mohan.Murali.Peddini · XSLT模板循环记录 2 年前 |