xml - 选择 xml 属性

标签 xml scala

我有一个 xml(存储在变量报告中),如下所示:

<wrapper>
    <Sample Id="SomeId1">
        <Tag Id="SomeTag">
          <Lane Id="1">
           [...]
          </Lane>
        </Tag>
    </Sample>
    <Sample Id="SomeId2">
        <Tag Id="SomeTag">
          <Lane Id="1">
           [...]
          </Lane>
        </Tag>
    </Sample>
</wrapper>

我想从“Sample”节点中提取“Id”属性。我阅读了以下文章 http://www.codecommit.com/blog/scala/working-with-scalas-xml-support然后尝试:

(report \\ "Sample" \ "@Id").text

返回一个空字符串:

scala> (report \\ "Sample" \ "@Id").text
res16: String = ""

但我应该将“SomeId1SomeId2”作为返回值。我做错了什么?

我发现了几个与我相似的问题。例子: Scala: XML Attribute parsing

最佳答案

我是这样工作的:

(xml \\ "Sample").map(n => (n \ "@Id").text)

=> scala.collection.immutable.Seq[String] = List(SomeId1, SomeId2)

但是一定有更好的解决方案……

关于xml - 选择 xml 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11758607/

相关文章:

java - 首选项库未加载首选项

C#最简单的获取XML数据的方法

scala - "+="会不会重新分配?

scala - 显示 SBT 的内部类路径

scala - 什么时候应该使用 Option.empty[A] ,什么时候应该在 Scala 中使用 None ?

scala - 处理基类与派生类字段名称的惯用 Scala 方式?

sql - 使用 XML FOR 向 T-SQL 查询添加命名空间

xml - 如何批量导入 XSD

Java:将 XSD 文件转换为 Java 类

scala - 如何递归解析这种树状结构?