gpt4 book ai didi

xml - 如何访问 Scala XML 中的父元素

转载 作者:数据小太阳 更新时间:2023-10-29 01:40:13 27 4
gpt4 key购买 nike

scala.xml 包表示带有标记树节点的 XML。但是在 Scala 2.7 中这棵树是单向的吗,因为似乎没有办法访问给定 ElemElem 父级?这同样适用于父 Document。例如,在 XOM 中,您有 getParentgetDocument 访问器来导航到树的根。这可以用 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 指向的节点与 ac 指向的节点完全相同。如果它必须指向父级,那么在 c 中使用它时就必须复制它。

要以您想要的方式在该数据结构中导航,您需要所谓的纯应用 XML 游标。

关于xml - 如何访问 Scala XML 中的父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582244/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com