怎样使用Groovy给XML增加特性

怎样使用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)
[email protected] = ‘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)

[email protected] = ‘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>

时间: 2024-10-11 10:50:27

怎样使用Groovy给XML增加特性的相关文章

XML 增加属性

var resultDoc = new XmlDocument(); resultDoc.LoadXml("<root></root>"); resultDoc.DocumentElement.SelectSingleNode("//root") -------------------------以下为主要内容 XmlAttribute attr = xmldoc.CreateAttribute("name"); attr

[DataSource] Properties 以及 DataSource 各个选项的含义:Data Connection,Directory,Excel,File,Grid,Groovy,JDBC,XML

http://www.soapui.org/about-soapui-pro/working-with-soapui-pro.html DataSource type dropdown – lets you pick which external source you would use to pull into your test case. Excel – Point to an Excel (xls) file JDBC – Connect to a database and pull d

servlet urlpattern annotaion 需要web.xml增加点内容才能支持啊喂

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_

Spring框架的XML扩展特性

Spring框架从2.0版本开始,提供了基于Schema风格的XML扩展机制,允许开发者扩展spring配置文件.现在我们来看下怎么实现这个功能,可以参考spring帮助文档中的<Extensible XML authoring>. 我们知道如果在需要在spring.xml中配置数据源,需要进行如下的配置: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"&g

Gradle build Android application groovy—DSL特定领域语言

前言 现在,搞APP开发居多,编译/打包等问题立即就成痛点了.一个APP有多个版本,Release版.Debug版.Test版.甚至针对不同APP Store都有不同的版本.在以前ROM的环境下,虽然可以配置Android.mk,但是需要依赖整个Android源码,而且还不能完全做到满足条件,很多事情需要手动搞.一个app如果涉及到多个开发者,手动操作必然会带来混乱. library工程我们需要编译成jar包,然后发布给其他开发者使用.以前是用eclipse的export,做一堆选择.要是能自动

即时编译和打包您的 Groovy 脚本(转)

在本文中将会涉及到: 使用 CliBuilder 来实现对命令行选项的支持,脚本执行时所需要的参数将通过命令行选项的方式传递. 使用 GroovyClassLoader 加载 Groovy class. 使用 AntBuilder 来构建 Jar 包. 开始之前 关于本文 也许您写了一些有趣或实用的 Groovy 脚本并希望与您的朋友分享,可是您并不想强迫他们安装 Groovy,所以您也许想要做一个小工具让您的朋友们能够用它编译您的 Groovy 脚本并且生成一个可执行的 Jar 包.本文将介绍

Groovy 与 DSL

一:DSL 概念 指的是用于一个特定领域的语言(功能领域.业务领域).在这个给出的概念中有 3个重点: 只用于一个特定领域,而非所有通用领域,比如 Java / C++就是用于通用领域,而不可被称为 DSL,同样也不可把 Groovy称为 DSL. 语言,必须经过编写后才可发挥它的功能.比如:五线谱编写后成乐谱: ANT编写用于编译: SVN命令编写后可对资源库进行操作: Shell编程: SQL编程: PL-SQL编程等等. 忽略具体的运行环境(媒介),可以是纸. XML文件.命令行. She

SQL Server 2016 CTP2.3 的关键特性

SQL Server 2016 CTP2.3 的关键特性 数据库方面的增强 Row Level Security已经支持In-memory OLTP 表.用户现在可以对内存优化表实施row-level security策略. 另外SCHEMABINDING.predicate 函数和内联表值函数都要包含NATIVE_COMPILATION编译选项. 使用NATIVE_COMPILATION编译选项的UDFs用户定义函数可以在本地模块和交换查询中使用,就像内存优化表和磁盘表. 没有使用NATIVE

Java 下一代: Groovy、Scala 和 Clojure

在与 Martin Fowler 共同参加的一次主题演讲中,他提供了一个敏锐的观察报告: Java 的遗产是  平台,不是  语言. 最初的 Java 技术工程师曾做过一个了不起的决定,将语言从运行时中分离出来,最终使 200 多种语言可在 Java 平台上运行.该基础架构对平台保持长久活力非常关键,因为计算机编程语言的寿命通常很短.自 2008 年以来,每年由 Oracle 主办的 JVM 语言峰会都会为 JVM 上替代语言的实现者提供与平台工程师公开合作的机会. 欢迎来到 Java 下一代专