xml - 如何在Scala XML中使用not操作进行选择?

标签 xml scala

有一个 XML 示例:

<grid>
    <row>
        <cell colSpan="1" name="cell1"/>
    </row>
    <row>
        <cell name="cell2" flow="horizontal"/>
    </row>
    <row>
        <cell name="cell3" flow="horizontal"/>
    </row>
</grid>

这是提取节点的代码部分:

val file = XML.loadFile(`above xml file's path`)

for (l <- file \\ "something to select nodes that are not cell" ) {
  ....      
}

除了选择字符串之外,我应该写什么?

最佳答案

这将返回所有名为“cell”的节点:

file \\ "_" filterNot (_.label == "cell")

(这是一个“一切”\\ projection 加上标准的 filterNot 调用)

请注意,生成的 NodeSeq 中的节点将保留其结构,例如“行”节点仍将有子“单元”节点。

关于xml - 如何在Scala XML中使用not操作进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22195931/

相关文章:

xml - 使用 XPath 检索特定文本后的子字符串

java - Sbt 在尝试运行它时在通用包装器错误中没有给出匹配的架构

java - RxJava : chaining observables

xml - Powershell XML 属性命名空间

c# - 将数据集写入 SQL 表

java - ViewPager不显示Fragment

scala - 为什么添加同伴对象时不能使用“组合”的case类?

performance - IndexedSeq.last 复杂度

scala - 比较两个数据帧并更新值

java - XSLT 替换删除 html 标签