怎样使用Groovy给XML增加特性
怎样使用Groovy给XML增加特性
圣洁之子 发表于3年前
怎样使用Groovy给XML增加特性
  • 发表于 3年前
  • 阅读 550
  • 收藏 2
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

怎样使用Groovy给XML增加特性?


问:

在Groovy中,我需要增加一个特性(attribute)到XML的根元素。我想使用 XmlSlurper。该怎样做?增加元素是很简单。

答:

在Groovy Console 运行以下代码,结果良好。

import groovy.xml.StreamingMarkupBuilder

// the original XML
def input = "<foo><bar></bar></foo>"

// add attributeName="attributeValue" to the root
def root = new XmlSlurper().parseText(input)
root.@attributeName = 'attributeValue'

// get the modified XML and check that it worked
def outputBuilder = new StreamingMarkupBuilder()
String updatedXml = outputBuilder.bind{ mkp.yield root }

assert "<foo attributeName='attributeValue'><bar></bar></foo>" == updatedXml

增加一个特性与读一个特性是一样的:

import groovy.xml.StreamingMarkupBuilder

def input = '''
<thing>
    <more>
    </more>
</thing>'''

def root = new XmlSlurper().parseText(input)

root.@stuff = 'new'

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

println result

将生成:

<thing stuff='new'><more></more></thing>

来源: <http://stackoverflow.com/questions/7795494/how-to-add-xml-attribute-using-groovy>


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 6
博文 219
码字总数 82224
×
圣洁之子
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: