假设我有一个
XML文档存储为Anti-
XML Elem:
@H_403_1@val root : Elem =
<foo attr="val">
<bar/>
</foo>
.我想追加< baz> blahblahblah< / baz>作为孩子的根元素,给予
@H_403_1@val modified_root : Elem = <foo attr="val"> <bar/> <baz>blahblahblah</baz> </foo>为了比较,在Python中你可以只使用root.append(foo).
我知道我可以使用:将(作为兄弟)添加到Group [Node]中,但这不是我想要的:
@H_403_1@<foo attr="val"> <bar/> </foo> <baz>blahblahblah</baz>如何将其作为< foo>的最后一个子项追加?看the documentation我看不出明显的方法.
与Scala XML Building: Adding children to existing Nodes类似,除了这个问题是针对Anti-XML而不是scala.xml.
Elem是
case class,所以你可以使用copy:
@H_403_1@import com.codecommit.antixml._
val root: Elem = <foo attr="val"><bar/></foo>.convert
val child: Elem = <baz>blahblahblah</baz>.convert
val modified: Elem = root.copy(children = root.children :+ child)
原文链接:https://www.f2er.com/xml/292170.html复制方法是automatically generated for case classes,它采用命名参数,允许您更改原始实例的任何单个字段.