xml - 在scala中过滤Elem的子节点?
问题描述
我正在尝试访问一些看起来像这样的 XML 的子节点:
<msgGrp>
<msg>a</msg>
<msg>b</msg>
<x>c</x>
<y>d</y>
<msg>e</msg>
<msgGrp>
如您所见,可以有任意数量的“msg”元素,并且恰好是所有其他类型的元素之一。我想写一个函数来只抓取味精元素,然后只抓取非味精元素。我想出了这样的事情:
val messages = n \ "msg"
val non_mesages = (n \ "_").filter(_.label != "msg")
但是有没有更简洁的方式来表达“标签不是'msg'的任何消息”?
解决方案
val (messages, non_messages) = (n \ "_").partition(_.label == "msg")
推荐阅读
- docker - 为 config.json 指定替代位置
- php - 是否可以使用 openssl 将文件解密到内存而不是磁盘文件
- google-chrome-extension - 在 chrome 扩展中获取和设置本地存储
- jmeter - JMeter中生成的PerfMon png中y轴的单位是什么?
- typescript - 通用、联合和扩展。打字稿
- reactjs - 如何防止用户输入以数字开头的用户名,但只允许在字母字符后输入数字?
- python - Python:如何在循环中只打印一行
- android - 使用 shrinkResources true 时未找到可绘制对象
- cert-manager - 是否可以使用 cert-manager 颁发手动创建的证书?
- javascript - 如何持续关注 MongoDB 并更新我的 UI?