The scala.xml
包表示带有标记树节点的 XML。但是这棵树在 Scala 2.7 中是单向的吗,因为似乎没有办法访问Elem
给定的父级Elem
?这似乎同样适用于父母Document
。例如,在 XOM 中你有getParent
and getDocument
访问器导航到树的根部。这可以通过 Scala 的 XML API 来完成吗?
正如其他人所提到的,没有父链接来使它们成为高效的不可变结构。例如:
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>
没有复制任何数据结构。所指向的节点b
是两者指向的同一节点a
and c
。如果它必须指向父级,那么当您使用它时,您必须复制它c
.
要按照您想要的方式在该数据结构中导航,您需要所谓的纯应用 XML 游标。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)