Mec*_*ail 6 xml scala anti-xml
假设我有一个XML文档存储为Anti-XML Elem:
val root : Elem =
<foo attr="val">
<bar/>
</foo>
Run Code Online (Sandbox Code Playgroud)
.我希望<baz>blahblahblah</baz>作为一个孩子附加到根元素,给予
val modified_root : Elem =
<foo attr="val">
<bar/>
<baz>blahblahblah</baz>
</foo>
Run Code Online (Sandbox Code Playgroud)
为了比较,在Python中你可以root.append(foo).
我知道我可以附加(作为兄弟姐妹)Group[Node]使用:+,但这不是我想要的:
<foo attr="val">
<bar/>
</foo>
<baz>blahblahblah</baz>
Run Code Online (Sandbox Code Playgroud)
如何将其作为最后一个孩子追加<foo>?看看文档,我没有看到明显的方法.
与Scala XML Building类似:向现有节点添加子节点,但此问题仅适用于Anti-XML而不是scala.xml.
Elem是一个案例类,所以你可以使用copy:
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)
Run Code Online (Sandbox Code Playgroud)
该copy方法是为案例类自动生成的,它采用命名参数,允许您更改原始实例的任何单个字段.
| 归档时间: |
|
| 查看次数: |
1378 次 |
| 最近记录: |