繁体   English   中英

如何使用 groovy 在 xml 中连续 append

[英]How to append a row in a xml using groovy

我有这个 xml 我想添加一个新row

<rows>
  <row>
    <name>Abhishek</name>
    <host>abhishek123@cjb.net</host>
  </row>
  <row>
    <name>Simon</name>
    <host>a@a.com</host>
  </row>
<rows>

我使用 MarkupBuilder(writer) 来创建这个 xml 但现在我怎么能 append 一个新的row元素

编辑

def writer = new StringWriter()
def xml = new MarkupBuilder(writer)

要在 Groovy 中执行此操作,一种解决方案是:

import groovy.xml.StreamingMarkupBuilder

def xml = """<rows>
  <row>
    <name>Abhishek</name>
    <host>abhishek123@cjb.net</host>
  </row>
  <row>
    <name>Simon</name>
    <host>a@a.com</host>
  </row>
</rows>"""

def root = new XmlSlurper().parseText( xml )
root.appendNode {
  row {
    name( 'tim' )
    host( 'a@woo.com' )
  }
}

def outputBuilder = new StreamingMarkupBuilder()
String result = outputBuilder.bind{ mkp.yield root }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM