xml - 用反 XML 替换 XML 节点

标签 xml scala anti-xml

我正在努力使用反 xml 库将一个 XML 元素替换为另一个元素。例如,我有:

<root>
  <sub>
    <keep />
    <replace />
    <keeptoo />
  </sub>
</root>

和片段:

<inserted key="value">
  <foo>foo</foo>
  <bar>bar</bar>
</inserted>

我想生产:

<root>
  <sub>
    <keep />
    <inserted key="value">
      <foo>foo</foo>
      <bar>bar</bar>
    </inserted>      
    <keeptoo />
  </sub>
</root>

注意:<sub>的顺序必须保护 child 。

最佳答案

首先我们定义根文档:

val root = 
<root>
  <sub>
    <keep />
    <replace />
    <keeptoo />
  </sub>
</root>.convert

val inserted =
  <inserted key="value">
    <foo>foo</foo>
    <bar>bar</bar>
 </inserted>.convert

然后我们得到元素:

val replace = root \\ 'replace

最后我们得到更新了 <replace/> 的 xml节点:

replace.updated(0, inserted).unselect

如果我们得到多个 <replace/>节点,我们将能够遍历 replace更新每个节点。

关于xml - 用反 XML 替换 XML 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8201065/

相关文章:

jquery - CDATA是什么意思

scala - 在scala中转换for-comprehension的类型结果

xml - 适用于 2.10+ 的 Scala XML 库

xml - 你能用antixml创建xml文档吗?

php - 为什么 XMLReader 重复 mysql insert function inside while 并且不能停止?

objective-c - NSXMLParser 仅从提要中获取最后一个对象

scala - 无法识别的选项 : -Xcext. enabled=true 错误 JVM、JRuby、Scala 和 RubyMine

java - Android TabLayout点击事件

scala - Scala 2nd edition 问题中的 Queue3 第 19 章编程