该scala.xml包表示带有标记树节点的XML.但是这个树在Scala 2.7中是单向的,因为似乎无法访问Elem给定的父级Elem吗?同样似乎适用于父母Document.例如,在XOM中,您拥有getParent和getDocument访问者可以导航到树的根目录.可以使用Scala的XML API完成吗?
Dan*_*ral 14
正如其他人所提到的,没有父链接可以使它们成为高效的不可变结构.例如:
scala> val a = <parent><children>me</children></parent>
a: scala.xml.Elem = <parent><children>me</children></parent>
scala> val b = a.child(0)
b: scala.xml.Node = <children>me</children>
scala> val c = <newparent>{b}</newparent>
c: scala.xml.Elem = <newparent><children>me</children></newparent>
scala> a
res0: scala.xml.Elem = <parent><children>me</children></parent>
scala> b
res1: scala.xml.Node = <children>me</children>
scala> c
res3: scala.xml.Elem = <newparent><children>me</children></newparent>
Run Code Online (Sandbox Code Playgroud)
没有复制数据结构.该节点指向的b是既指出了同样的节点a和c.如果它必须指向父级,那么当你使用它时,你必须复制它c.
要以您希望的方式在该数据结构中导航,您需要所谓的纯粹应用XML游标.
| 归档时间: |
|
| 查看次数: |
3266 次 |
| 最近记录: |